利用Python爬取可用的代理IP

前言

就以最近发现的一个免费代理IP网站为例:http://www.xicidaili.com/nn/。在使用的时候发现很多IP都用不了。

所以用Python写了个脚本,该脚本可以把能用的代理IP检测出来。

 1 #encoding=utf8
 2 import urllib2
 3 from bs4 import BeautifulSoup
 4 import urllib
 5 import socket
 6
 7 User_Agent = ‘Mozilla/5.0 (Windows NT 6.3; WOW64; rv:43.0) Gecko/20100101 Firefox/43.0‘
 8 header = {}
 9 header[‘User-Agent‘] = User_Agent
10
11 ‘‘‘
12 获取所有代理IP地址
13 ‘‘‘
14 def getProxyIp():
15  proxy = []
16  for i in range(1,2):
17   try:
18    url = ‘http://www.xicidaili.com/nn/‘+str(i)
19    req = urllib2.Request(url,headers=header)
20    res = urllib2.urlopen(req).read()
21    soup = BeautifulSoup(res)
22    ips = soup.findAll(‘tr‘)
23    for x in range(1,len(ips)):
24     ip = ips[x]
25     tds = ip.findAll("td")
26     ip_temp = tds[1].contents[0]+"\t"+tds[2].contents[0]
27     proxy.append(ip_temp)
28   except:
29    continue
30  return proxy
31
32 ‘‘‘
33 验证获得的代理IP地址是否可用
34 ‘‘‘
35 def validateIp(proxy):
36  url = "http://ip.chinaz.com/getip.aspx"
37  f = open("E:\ip.txt","w")
38  socket.setdefaulttimeout(3)
39  for i in range(0,len(proxy)):
40   try:
41    ip = proxy[i].strip().split("\t")
42    proxy_host = "http://"+ip[0]+":"+ip[1]
43    proxy_temp = {"http":proxy_host}
44    res = urllib.urlopen(url,proxies=proxy_temp).read()
45    f.write(proxy[i]+‘\n‘)
46    print proxy[i]
47   except Exception,e:
48    continue
49  f.close()
50
51
52 if __name__ == ‘__main__‘:
53  proxy = getProxyIp()
54  validateIp(proxy)

总结

这只是爬取的第一页的IP地址,如有需要,可以多爬取几页。同时,该网站是时时更新的,建议爬取时只爬取前几页的即可。

原文地址:https://www.cnblogs.com/yucaikang/p/8481520.html

时间: 2024-10-11 12:51:01

利用Python爬取可用的代理IP的相关文章

python爬虫教程:《利用Python爬取表情包》

python爬虫教程:<利用Python爬取表情包>,微信没有表情包?不用愁!老师带领你使用多线程爬虫一键爬取20w的表情包~ python爬虫教程:<利用Python爬取表情包>,微信没有表情包?不用愁!老师带领你使用多线程爬虫一键爬取20w的表情包~ python爬虫教程:<利用Python爬取表情包>,微信没有表情包?不用愁!老师带领你使用多线程爬虫一键爬取20w的表情包~ python爬虫教程:<利用Python爬取表情包>,微信没有表情包?不用愁!

利用Python爬取豆瓣电影

目标:使用Python爬取豆瓣电影并保存MongoDB数据库中 我们先来看一下通过浏览器的方式来筛选某些特定的电影: 我们把URL来复制出来分析分析: https://movie.douban.com/tag/#/?sort=T&range=0,10&tags=%E7%94%B5%E5%BD%B1,%E7%88%B1%E6%83%85,%E7%BE%8E%E5%9B%BD,%E9%BB%91%E5%B8%AE 有3个字段是非常重要的: 1.sort=T 2.range=0,10 3.tag

没有内涵段子可以刷了,利用Python爬取段友之家贴吧图片和小视频(含源码)

由于最新的视频整顿风波,内涵段子APP被迫关闭,广大段友无家可归,但是最近发现了一个"段友"的app,版本更新也挺快,正在号召广大段友回家,如下图,有兴趣的可以下载看看(ps:我不是打广告的,没收广告费的) 同时,之前同事也发了一个贴吧的段子聚居地,客官稍等,马上奉上连接:段友之家?https://tieba.baidu.com/f?ie=... 然后呢,看到上面,确实好多段友在上面,于是乎,我就想爬取他们的图片和小视频,就有了这篇文章的主题: 其实吧,用Python爬取网站数据是最基

最后轻松一夏,周末利用python爬取“陈翔六点半”搞笑视频!

觉得程序员再忙也需要给自己安排一点娱乐时间,对自己好点,自己对自己不好,谁会? 自己娱乐一般会有:跑步.看电影.小视频,而小视频是最家常的娱乐方式,看得最多的小视频是「 陈翔六点半 」,咦! 拍得搞笑,演技也一流,也不乏有内涵!非常推荐大家看看. 时间太贵,我耗不起 正题 先上Python爬取小视频的效果图,duang.duang.duang.想下载什么就是什么,哈哈. 打开浏览器(电脑版,方便调试)输入微博 url 点击输入框,输入「陈翔六点半」,回车搜索 但是发现在这个页面就只用几个视频.滑

python+scrapy 爬取西刺代理ip(一)(ubuntu环境下) -赖大大 -博客园

第一步:环境搭建 1.python2 或 python3 2.用pip安装下载scrapy框架 具体就自行百度了,主要内容不是在这. 第二步:创建scrapy(简单介绍) 1.Creating a project(创建项目) scrapy startproject 项目名称 2.Defining our item(定义我们的项目) 3.writing a spider(写spider) scrapy genspider (spider的名称)(爬取的网页) 4.writing & Configu

利用python爬取58同城简历数据

最近接到一个工作,需要获取58同城上面的简历信息(http://gz.58.com/qzyewu/).最开始想到是用python里面的scrapy框架制作爬虫.但是在制作的时候,发现内容不能被存储在本地变量 response 中.当我通过shell载入网页后,虽然内容能被储存在response中,用xpath对我需要的数据进行获取时,返回的都是空值.考虑到数据都在源码中,于是我使用python里的beautifulSoup通过下载源码的方式去获取数据,然后插入到数据库. 需要的python包ur

利用python爬取贝壳网租房信息

最近准备换房子,在网站上寻找各种房源信息,看得眼花缭乱,于是想着能否将基本信息汇总起来便于查找,便用python将基本信息爬下来放到excel,这样一来就容易搜索了. 1. 利用lxml中的xpath提取信息 xpath是一门在 xml文档中查找信息的语言,xpath可用来在 xml 文档中对元素和属性进行遍历.对比正则表达式 re两者可以完成同样的工作,实现的功能也差不多,但xpath明显比re具有优势.具有如下优点:(1)可在xml中查找信息 :(2)支持html的查找:(3)通过元素和属性

利用python爬取龙虎榜数据及后续分析

##之前已经有很多人写过相关内容,但我之前并未阅读过,这个爬虫也是按照自己的思路写的,可能比较丑陋,请见谅! 本人作为Python爬虫新手和股市韭菜,由于时间原因每晚没办法一个个翻龙虎榜数据,所以希望借助爬虫筛选出有用信息,供我分析(其实就是想偷懒...). 每日的龙虎榜数据都在:http://data.eastmoney.com/stock/lhb.html 爬取过程其实很简单,不需要登陆,也不需要模拟浏览器登录:数据量小,因此也不用多进程,也不用更换IP等反爬虫手段.后续的分析可能更关键.

利用python爬取海量疾病名称百度搜索词条目数的爬虫实现

实验原因: 目前有一个医疗百科检索项目,该项目中对关键词进行检索后,返回的结果很多,可惜结果的排序很不好,影响用户体验.简单来说,搜索出来的所有符合疾病中,有可能是最不常见的疾病是排在第一个的,而最有可能的疾病可能需要翻很多页才能找到. 实验目的: 为了优化对搜索结果的排序,想到了利用百度搜索后有显示搜索到多少词条,利用这个词条数,可以有效的对疾病排名进行一个优化.从一方面看,某一个疾病在百度的搜索词条数目越多,表示这个词条的信息特别丰富,侧面反映了搜索这个词条的人特别多,从而可以推出这个疾病在