Python代理脚本获取Json数据

来源:互联网 发布:txt转换mobi的软件 编辑:程序博客网 时间:2024/04/29 18:23
#coding=utf-8#作者:ewang#版本:2.7#功能描述:编写python版本,对特定的网站,获取相关的json值import socket  import thread  import urlparse  import selectimport threadingimport reimport json import Data BUFLEN=8192class Proxy(object):      def __init__(self,conn,addr):  self.source=conn  self.request=""self.Json=""self.Jrespone=""self.destnation=socket.socket(socket.AF_INET,socket.SOCK_STREAM)  self.run()        def get_headers(self):  header=''  while True:  header+=self.source.recv(BUFLEN)  index=header.find('\n')  if index >0:  break    self.request=header[index+1:]     def conn_destnation(self):   ip=socket.gethostbyname("服务器")   self.destnation.connect((ip,80))data="%s %s %s\r\n" %("方法","URL","HTTP/1.1")  self.destnation.send(data+self.request)item=re.findall('\"props\"\s*:(.+})\,',self.request,re.S)item=item[0].replace("     ","")#对json文件编码Jdumps=json.dumps(item,sort_keys=True)#对json文件解码Jrespone=json.loads(Jdumps)json_respone=json.loads(item)self.Json=json_responeself.Jrespone=Jresponeprint self.Jrespone    def run(self):  self.get_headers()  self.conn_destnation()      class Server(object):        def __init__(self,host,port):   self.server=socket.socket(socket.AF_INET,socket.SOCK_STREAM)  self.server.bind((host,port))  self.server.listen(5)        def start(self):while True:  try: conn,addr=self.server.accept()thread.start_new_thread(Proxy(conn,addr),())except:  pass  if __name__=='__main__':s=Server(IP,PORT)s.start()

0 0
原创粉丝点击