tyl75 发表于 2018-11-24 22:42

新人爬虫 爬免费ip

本帖最后由 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)

tyl75 发表于 2018-11-25 11:30

degouk42 发表于 2018-11-24 23:09
两个办法
1. 限速.在 get_html 之前sleep个1秒不行就5秒.思路就是降低访问速度.
2. 代{过}{滤}理.使用不 ...

谢谢 我待会就试试 之前python2一直卡在正则中文编码匹配不到,就换了python3 请问有什么办法能匹配的上吗 \u533f\u540d\u5ea6 这种编码

degouk42 发表于 2018-11-24 23:09

两个办法
1. 限速.在 get_html 之前sleep个1秒不行就5秒.思路就是降低访问速度.
2. 代{过}{滤}理.使用不同的代{过}{滤}理ip访问页面

Pear 发表于 2018-11-24 22:50

学习学习

raedon 发表于 2018-11-24 22:59

me too!

LittleOne 发表于 2018-11-24 23:20

学习了,谢谢

慕白1030 发表于 2018-11-24 23:36

来学习一下!!!

reol_233 发表于 2018-11-24 23:37

厉害了,学习一下

灬丶1丶灬 发表于 2018-11-24 23:49

学习一下

b19341 发表于 2018-11-24 23:50

学习学习!!

MODcraft 发表于 2018-11-25 00:09

感谢楼主,找了好久
学习一下
页: [1] 2
查看完整版本: 新人爬虫 爬免费ip