( 目前正有 113 位朋友陪你一起在逛超市!) 注册 | 登录 | 合作网站账号登录

今日最新Python爬取西刺国内高匿代理ip并验证源代码开源

来源网站:源码购吧网 发布时间:2018-06-08 阅读:42 评价:42次

1.抓取ip存入文件

首先,我们访问西刺首页 http://www.xicidaili.com/,并点击国内高匿代理,如下图:

这里写图片描述

按 F12 检查网页元素或者 ctrl+u查看网页源代码:

这里写图片描述

我们需要提取的是 ip 和端口,这里我们用正则提取,代码如下:

# -*- coding:utf8 -*-  import urllib2 import re import time  headers = {     'Accept': '*/*',     'Accept-Language': 'zh-CN,zh;q=0.8',     'User-Agent': 'Mozilla/5.0 (X11; Fedora; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36',     'Hosts': 'hm.baidu.com',     'Referer': 'http://www.xicidaili.com/nn',     'Connection': 'keep-alive' }  # 指定爬取范围(这里是第1~1000页) for i in range(1,1000):      url = 'http://www.xicidaili.com/nn/' + str(i)     req = urllib2.Request(url=url,headers=headers)     res = urllib2.urlopen(req).read()      # 提取ip和端口     ip_list = re.findall("(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}).*?(\d{2,6})", res, re.S)      # 将提取的ip和端口写入文件     f = open("ip.txt","a+")     for li in ip_list:         ip = li[0] + ':' + li[1] + '\n'         print ip         f.write(ip)      time.sleep(2)       # 每爬取一页暂停两秒
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33

2.提取可用ip并存入文件

  刚才爬取的 ip 有大量都是不可用的,我们需要将可用的 ip 提取出来,这里我们使用站长之家的 ip 查询 http://ip.chinaz.com/, 如下图:

这里写图片描述

代码如下:

# -*- coding:utf8 -*-  import urllib import socket socket.setdefaulttimeout(3)  inf = open("ip.txt")    # 这里打开刚才存ip的文件 lines = inf.readlines() proxys = [] for i in range(0,len(lines)):     proxy_host = "http://" + lines[i]     proxy_temp = {"http":proxy_host}     proxys.append(proxy_temp)  # 用这个网页去验证,遇到不可用ip会抛异常 url = "http://ip.chinaz.com/getip.aspx" # 将可用ip写入valid_ip.txt ouf = open("valid_ip.txt", "a+")  for proxy in proxys:     try:         res = urllib.urlopen(url,proxies=proxy).read()         valid_ip = proxy['http'][7:]         print 'valid_ip: ' + valid_ip         ouf.write(valid_ip)     except Exception,e:         print proxy         print e         continue
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29

至此,可用 ip 已成功写入文件.

下一篇:黑帽网络爬虫python 爬虫获取XiciDaili代理IP
上一篇:python视频教程大全集下载啦

用户评论

用户名: 匿名用户
E-mail:
评价等级:
评论内容:
验证码: captcha
点此将本站加入收藏,方便下次访问 ICP备案证书号:10008743号-1
© 2005-2018 源码购吧网 版权所有,并保留所有权利。 北京市朝阳区朝来科技园 客服邮箱: mku8@qq.com
程序由新源代 gouba8.cn提供 QQ 1220462776 淘宝旺旺sss8811