获取samair.ru代理的python脚本

samair.ru比较变态,不只是用javascript来显示端口,而且每个页面的用来显示端口的变量替换组还不一样。废话不多说,直接上脚本。

此方法和脚本已经失效

import urllib2,cookielib,gzip,re
from StringIO import StringIO
from lxml import etree
import execjs
import json
def reptileProxy(html_str,reStr,portdicts):

# portdicts={'q':"5",'u':"9",'l':"4",'j':"3",'p':"1",'t':"2",'o':"0",'h':"7",'w':"6",'k':"8"}
#p=re.compile('''
(.+?)(.+?).+?(.+?)

''') p=re.compile(reStr) matchs=p.findall(html_str) for row in matchs: ip=row[0] port=row[1] # q+q+m port=map(lambda x:portdicts[x],port.split('+')) port=''.join(port) # agent=row[2] # addr=row[3] print ip+":"+port hdr = {'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 Safari/537.11', 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'Accept-Charset': 'ISO-8859-1,utf-8;q=0.7,*;q=0.3', 'Accept-Encoding':'gzip,deflate,sdch', 'Accept-Language': 'en-US,en;q=0.8,zh-CN;q=0.6', 'Connection': 'keep-alive'} initurl='http://www.samair.ru/proxy/' pages=30 for page in range(1,pages): if page(.+?)(.+?).+?(.+?)

""" reptileProxy(html,restr,portdicts)

您可以选择一种方式赞助本站

支付宝转账赞助

支付宝扫一扫赞助

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

图片 表情