Python爬取代理ip
# -*- coding:utf-8 -*-
#author : willowj
import urllib
import urllib2
from bs4 import BeautifulSoup
import re
import bs4 import sys reload(sys)
sys.setdefaultencoding('utf8') def ip_test(ip,url= "https://www.baidu.com"):
#test ip if can be used
#url = "http://ip.chinaz.com/getip.aspx"# 默认测试网址
ip1="http://"+ip
try :
res = urllib.urlopen(url,proxies={'http:':ip1}).read() #尝试代理访问
print 'ok',ip1 #,res
return True
except Exception,e:
print "failed"
return False def get_iphtml_inyoudaili():
url='http://www.youdaili.net'
html=urllib2.urlopen(url)
code=html.read()
#href="http://www.youdaili.net/Daili/http/26672.html" title="12月27号 最新代理http服务器ip地址"
regexp='href="(.*?)" .*?最新代理http服务器ip地址'
pat=re.compile(regexp)
met=re.findall(pat,code)
print met[0]
#最新代理http服务器ip地址 html
return met[0] def getIps(url):
#getip from website, test,and return,save aviable ips in 'ips.txt'
htmlip=urllib2.urlopen(url)
codeip=htmlip.read() regexpip='([1-9][0-9]{0,2}\.\S*?)@HTTP#' #IP样式
pat_ip=re.compile(regexpip) met_ip=re.findall(pat_ip,codeip) ips=[]
file_open=open('ips.txt','w')
for x in met_ip:
print x
if ip_test(x):
ips.append(x)
file_open.write(x+'\n')
file_open.close()
#print ips,'youdaili'
return ips def saveIps(list):
file_open=open('ips.txt','w')
for ip in list:
file_open.write(ip+'\n')
file_open.close() def read_ips(file='ips.txt'):
'''读取IP 以list返回'''
file_open=open(file)
lines=file_open.readlines()
ips=[]
for line in lines:
ip=line.strip("\n")
ips.append(ip)
print ips
return ips if __name__=="__main__": ips = getIps(get_iphtml_inyoudaili()) saveIps(ips)
Python爬取代理ip的更多相关文章
- 使用Python爬取代理ip
本文主要代码用于有代理网站http://www.kuaidaili.com/free/intr中的代理ip爬取,爬虫使用过程中需要输入含有代理ip的网页链接. 测试ip是否可以用 import tel ...
- python爬虫爬取代理IP
# #author:wuhao # #--*------------*-- #-****#爬取代理IP并保存到Excel----#爬取当日的代理IP并保存到Excel,目标网站xicidaili.co ...
- python代理池的构建3——爬取代理ip
上篇博客地址:python代理池的构建2--代理ip是否可用的处理和检查 一.基础爬虫模块(Base_spider.py) #-*-coding:utf-8-*- ''' 目标: 实现可以指定不同UR ...
- python 批量爬取代理ip
import urllib.request import re import time import random def getResponse(url): req = urllib.request ...
- 爬虫爬取代理IP池及代理IP的验证
最近项目内容需要引入代理IP去爬取内容. 为了项目持续运行,需要不断构造.维护.验证代理IP. 为了绕过服务端对IP 和 频率的限制,为了阻止服务端获取真正的主机IP. 一.服务器如何获取客户端IP ...
- 自动爬取代理IP例子
import time import json import datetime import threading import requests from lxml import etree from ...
- 爬取代理IP
现在爬虫好难做啊,有些网站直接封IP,本人小白一个,还没钱,只能找免费的代理IP,于是去爬了西刺免费代理,结果技术值太低,程序还没调试好, IP又被封了... IP又被封了... IP又被封了... ...
- 爬取代理IP,并判断是否可用。
# -*- coding:utf-8 -*- from gevent import monkey monkey.patch_all() import urllib2 from gevent.pool ...
- 原创:Python爬虫实战之爬取代理ip
编程的快乐只有在运行成功的那一刻才知道QAQ 目标网站:https://www.kuaidaili.com/free/inha/ #若有侵权请联系我 因为上面的代理都是http的所以没写这个判断 代 ...
随机推荐
- MySQL RANGE分区
200 ? "200px" : this.width)!important;} --> 介绍 RANGE分区基于一个给定的连续区间范围,早期版本RANGE主要是基于整数的分区 ...
- Python yield与实现
Python yield与实现 yield的功能类似于return,但是不同之处在于它返回的是生成器. 生成器 生成器是通过一个或多个yield表达式构成的函数,每一个生成器都是一个迭代器(但是迭 ...
- 更新Literacy
之前都没有做单元测试的啊 昨天离职了,闲着没事做了个单元测试,结果发现一堆问题....大部分都是关于值类型在IL中的操作问题... 这件事让我感觉蛋蛋隐隐发疼....以后一定要做单元测试啊.... 具 ...
- Module Zero之语言管理
返回<Module Zero学习目录> 概览介绍 如何开启 管理语言 管理本地化文本 概览介绍 ABP定义了一个健壮的UI本地化系统,它可用于服务端和客户端.它允许在不同的资源中(Reso ...
- java反射 之 反射基础
一.反射 反射:JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法和属性:这种动态获取的信息以及动态调用对象的方法的功能称为 ...
- Exception:HTTP Status 500 - org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)
主要错误信息如下: HTTP Status 500 - org.apache.ibatis.binding.BindingException: Invalid bound statement (not ...
- mysql导入导出sql文件
window下 1.导出整个数据库mysqldump -u 用户名 -p 数据库名 > 导出的文件名mysqldump -u dbuser -p dbname > dbname.sql2. ...
- SQL Server游标
什么是游标 结果集,结果集就是select查询之后返回的所有行数据的集合. 游标则是处理结果集的一种机制吧,它可以定位到结果集中的某一行,多数据进行读写,也可以移动游标定位到你所需要的行中进行操作数据 ...
- 【Win 10开发】协议-上篇:自定义应用协议
就像系统许多内置应用可以通过URI来启动(如ms-settings-bluetooth:可以打开蓝牙设置页),我们自己开发的应用程序,如果需要的话,可以为应用程序自定义一个协议.应用程序协议在安装时会 ...
- Segmentation fault (core dumped)
问题: 在Linux中实现快速排序时,没有加入终止条件,结果出现Segmentation fault (core dumped)这个问题,Segmentation fault (core dumped ...