Python爬取西刺国内高匿代理ip并验证
1.抓取ip存入文件
首先,我们访问西刺首页 http://www.xicidaili.com/,并点击国内高匿代理,如下图:
按 F12 检查网页元素或者 ctrl+u查看网页源代码:
我们需要提取的是 ip 和端口,这里我们用正则提取,代码如下:
# -*- coding:utf8 -*-import urllib2
import re
import timeheaders = {'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 ipf.write(ip)time.sleep(2) # 每爬取一页暂停两秒
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_ipouf.write(valid_ip)except Exception,e:print proxyprint econtinue
至此,可用 ip 已成功写入文件.
Python爬取西刺国内高匿代理ip并验证相关推荐
- 第2.1章 scrapy之国内高匿代理IP爬取
这个网站较为简单,故作为爬虫的第一个示例 代码如下: # -*- coding: utf-8 -*- ''' Created on 2017年6月12日 从国内高匿代理IP网站中获取动态ip信息 @s ...
- 2019年9月-最新2000个国内高匿代理ip
最新2000个国内高匿代理ip 210.22.176.146:32153 125.123.123.218:9999 27.152.90.198:9999 171.13.137.81:9999 27.4 ...
- Python爬取西刺代理网页
爬取西刺代理网页的信息,并保存到本地的TXT文本或者mysql数据库中 本文只做爬取网页的练习 代码如下: import requests from lxml import etree import ...
- python 爬取西刺ip代理池
1. 如何在requests中设置ip代理 最直接的用法,在get中添加proxies设置ip代理 proxies = {'https': 'http://183.148.153.147:9999/' ...
- Python 爬取西刺可用代理IP,自带检测。
功能: 爬取西刺代理IP 添加了自动检测IP是否可用功能 输出到Data.txt文件中 注意: 爬取西刺的时候,有可能真实IP被封,可以先尝试爬取少量的代理IP,放入ip_use中. 测试: 1.测试 ...
- 手把手教你使用Python爬取西刺代理数据,不用担心我封IP了!
/1 前言/ 前几天小编发布了手把手教你使用Python爬取西次代理数据(上篇),木有赶上车的小伙伴,可以戳进去看看.今天小编带大家进行网页结构的分析以及网页数据的提取,具体步骤如下. /2 首页分析 ...
- 爬取国内高匿代理,并验证每个代理是否可用
目标网站https://www.xicidaili.com | 一.建立项目 scrapy startproject proxy_example cd scrapy genspider XiciSpi ...
- 爬虫获取西刺免费高匿代理
#有些代理不能使用,使用前先写脚本筛选 import requests from lxml import etree import xlwt import time ip = xlwt.Workboo ...
- python爬取高匿代理IP(再也不用担心会进小黑屋了)
一起进步 为什么要用代理IP 很多数据网站,对于反爬虫都做了一定的限制,这个如果写过一些爬虫程序的小伙伴应该都深有体会,其实主要还是IP进了小黑屋了,那么为了安全,就不能使用自己的实际IP去爬取人家网 ...
最新文章
- Linux shell/makefile/gic/python指令速查-inprocess
- UGUI实现接口事件
- 【Oracle Database 12c新特性】ASM Scrubbing Disk Groups
- javascript中判断对象是否为空几种场景
- 文字超出两行 则显示。。。
- 计算机二级考试Access教程
- java字符串字典排序_java实现对map的字典序排序操作示例
- JMV监控工具之JConsole
- Google Earth Engine(GEE)——中国区域NOAA数据风速代码下载
- 【内网安全】445端口的入侵与扫描
- 怎样任意裁剪图片?如何快速改变图片形状?
- uniapp中text-indent不起作用,uniapp首行缩进不管用如何解决?
- TMS320C6748_PWM_ECAP
- 玩客云手动设置IP地址
- 我用Python分析淘宝低价人群和匿名人群的连衣裙数据后,发现了这些秘密!
- 整数二分详解---yxc
- excel——设置单元格格式
- GO在windows环境下的下载以及环境配置
- ”核高基“重大软件专项国家级验收形同虚设走过场
- 16进制和字符串(包括中文)的转换