文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

python2.7爬取可用代理IP

2023-01-31 02:45

关注

import urllib2

import random

import time

import re

#from lxml import etree  #第三方模块



def get_proxy(page):

headers = {

'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36'

}

req = urllib2.Request('http://www.xicidaili.com/nn/{}'.format(page),headers=headers) #构造一个Request对象

response = urllib2.urlopen(req) #发送请求

html = response.read()

proxy_list = []

ip_port_list = re.findall(r'<tr class=.*?>(.*?)</tr>',html,re.S)

#ip_list = re.findall(r'\d+\.\d+\.\d+\.\d+\',html)

print len(ip_port_list)

for i in ip_port_list:

ip = re.findall('\d+\.\d+\.\d+\.\d+\.',i)[0]

port = re.findall(r'<td>(\d+)</td>',i)[0]

#print ip,port  #打印测试

proxy = '{}:{}'.format(ip,port)

proxy_list.append(proxy)

return proxy_list

def proxy_read(proxy_list,i):

proxy = proxy_list[i]

print u'当前代理IP:{}'.format(proxy)

sleep_time = random.randint(1,3)

print '等待{}秒'.format(sleep_time)

time.sleep(sleep_time)

#urllib2 里面的方法

proxt_suport = urllib2.ProxyHandler({'http':proxy}) #构建代理Handler

opener = urllib2.build_opener(proxt_suport) #通过build_opener方法来使用Handler对象,然后创建opener对象

urllib2.install_opener(opener) #把opener对象变成全局的,之后使用的urlopen对象都是全局的

req = urllib2.Request('http://httpbin.org/ip')

try:

html = urllib2.urlopen(req).read()

print html

except Exception as e:

print e

print u'***打开失败***'

print u'当前ip不可用'


if __name__ == '__name__':

    proxy_list = get_proxy(1)

print '开始测试'

for i in range(100):

proxy.read(proxt_list,i)


阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯