好友
阅读权限10
听众
最后登录1970-1-1
|
tyl75
发表于 2018-11-24 22:42
本帖最后由 tyl75 于 2018-11-24 22:44 编辑
python3 的代码 rang次数过多会被封ip 求指点优化
#coding:utf8
import requests
import re
import chardet
def get_html(page):
html = requests.get(page).text
return html
def find(text):
q = re.findall('<tbody>(.*?)</tbody>',text,re.S)
return q
def getinfo(eachclass):
info={}
info['ip'] = re.search('<td data-title="IP">(.*?)</td>', eachclass, re.S).group(1)
info['PORT'] = re.search('<td data-title="PORT">(.*?)</td>', eachclass, re.S).group(1)
info['匿名度'] = re.search(u'<td data-title="匿名度">(.*?)</td>', eachclass, re.S).group(1)
info['类型'] =re.search(u'<td data-title="类型">(.*?)</td>', eachclass, re.S).group(1)
info['位置'] = re.search(u'<td data-title="位置">(.*?)</td>', eachclass, re.S).group(1)
info['响应速度'] =re.search(u' data-title="响应速度">(.*?)</td>', eachclass, re.S).group(1)
return info
def saveinfo(classinfo):
f = open('info.txt','a')
for each in classinfo:
f.writelines('ip:' + each['ip']+" ")
f.writelines('端口:' + each['PORT']+" " )
f.writelines('匿名度:' + each['匿名度']+" " )
f.writelines('类型:' + each['类型']+" " )
f.writelines('位置:' + each['位置']+" " )
f.writelines('响应速度:' + each['响应速度'] + '\n')
f.close()
classinfo = []
for i in range(1,10):
page = 'https://www.kuaIDAili.com/free/inha/'+str(i)
text = get_html(page)
shuaixuan = find(text)
qiepian = str(shuaixuan).split('<tr>')
del qiepian[0]
for each in qiepian:
# print each
info =getinfo(each)
classinfo.append(info)
saveinfo(classinfo)
|
免费评分
-
参与人数 4 | 吾爱币 +3 |
热心值 +4 |
收起
理由
|
贪恋毅世的浮华
| + 1 |
+ 1 |
能教我下怎么爬这个网站么? http://tujixiazai.com/category/shizufangan/ |
b19341
| + 1 |
+ 1 |
热心回复! |
cralyan
| |
+ 1 |
用心讨论,共获提升! |
Pear
| + 1 |
+ 1 |
热心回复! |
查看全部评分
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|