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的所以没写这个判断 代 ...
随机推荐
- 常用网络工具 ipconfig arp traceroute
如今的计算机是离不开网络的计算机了,因而我们对网络要有一基础的认识.连不上网,程序运行不正常之类的,多少都与网络有关.本文将介绍常用的工具. 网络出问题 ipconfig ping 网络连不上,首先要 ...
- .NET中XML序列化的总结
[题外话] 以前虽然常用.NET中的序列化,但是常用的BinaryFormatter,也就是二进制文件的序列化,却鲜用XML的序列化.对于XML序列化,.NET中同样提供了一个非常方便的工具XmlSe ...
- 谷歌chrome浏览器www.tradeadexchange.com广告弹窗跳转劫持病毒
近期大量网友出现chrome浏览器被劫持的情况,表现如下: · 点击(访问)任意网站任意链接均有概率弹出www.tradeadexchange.com. · ...
- C语言 · 冒泡排序
for(int k=0;k<N;k++) { for(int j=k+1;j<N;j++){ if(a[k]>a[j]){ int t = a[k]; a ...
- 每天一个linux命令(23):Linux 目录结构
对于每一个Linux学习者来说,了解Linux文件系统的目录结构,是学好Linux的至关重要的一步.,深入了解linux文件目录结构的标准和每个目录的详细功能,对于我们用好linux系统只管重要,下面 ...
- kettle资源库配置
资源库的作用:资源库是用来保存操作步骤和相关的日志,转换,JOB 等信息.用户通过图形界面创建的的转换任务可以保存在资源库中.资源库可以是各种常见的数据库,用户通过用户名/ 密码来访问资源库中的资源, ...
- HTTP Status 500 - The absolute uri: http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml or the jar files deployed with this application
j 今天下午一直报这个问题,google了半天没有找到答案.百度了下,说是 tomcat的 lib文件夹下缺少jstl1.2,因为项目里面用的也是 jstl1.2和 standard-1.1.2.ja ...
- thinkPHP入门之二
thinkphp提供了很多便利的方法,因为php要记的东西太多了,而thinkphp极大简化了这些,让编写过程更加快速. 为了预防那些了解它的人胡乱玩耍,thinkphp提供一个函数_empty 它是 ...
- 【WP 8.1开发】How to 图像处理
在今天的吹牛节目开始之前,先交代一件事: 关于玩WP 8.1开发所使用的VS版本问题.对版本的要求是2013的Update2,这是最低要求,只要是这个版本或以上都可以,而update3,update4 ...
- C#单例模式详解
C#要实现单例模式必须要有以下三点: 声明私有静态成员.私有化构造函数.静态函数返回实例. private static GameManager s_GameManager=null; private ...