• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >python > 利用Python爬取可用的代理IP

利用Python爬取可用的代理IP

作者:daisy 字体:[增加 减小] 来源:互联网

daisy 通过本文主要向大家介绍了利用python爬数据,利用python数据分析,利用python,利用python做数据分析,利用python写网络爬虫等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

前言

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

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

脚本如下:

#encoding=utf8
import urllib2
from bs4 import BeautifulSoup
import urllib
import socket
 
User_Agent = 'Mozilla/5.0 (Windows NT 6.3; WOW64; rv:43.0) Gecko/20100101 Firefox/43.0'
header = {}
header['User-Agent'] = User_Agent
 
'''
获取所有代理IP地址
'''
def getProxyIp():
 proxy = []
 for i in range(1,2):
  try:
   url = 'http://www.xicidaili.com/nn/'+str(i)
   req = urllib2.Request(url,headers=header)
   res = urllib2.urlopen(req).read()
   soup = BeautifulSoup(res)
   ips = soup.findAll('tr')
   for x in range(1,len(ips)):
    ip = ips[x]
    tds = ip.findAll("td")
    ip_temp = tds[1].contents[0]+"\t"+tds[2].contents[0]
    proxy.append(ip_temp)
  except:
   continue
 return proxy
  
'''
验证获得的代理IP地址是否可用
'''
def validateIp(proxy):
 url = "http://ip.chinaz.com/getip.aspx"
 f = open("E:\ip.txt","w")
 socket.setdefaulttimeout(3)
 for i in range(0,len(proxy)):
  try:
   ip = proxy[i].strip().split("\t")
   proxy_host = "http://"+ip[0]+":"+ip[1]
   proxy_temp = {"http":proxy_host}
   res = urllib.urlopen(url,proxies=proxy_temp).read()
   f.write(proxy[i]+'\n')
   print proxy[i]
  except Exception,e:
   continue
 f.close()
 
    
if __name__ == '__main__':
 proxy = getProxyIp()
 validateIp(proxy)
</div>

 运行成功后,打开E盘下的文件,可以看到如下可用的代理IP地址和端口:

总结

这只是爬取的第一页的IP地址,如有需要,可以多爬取几页。同时,该网站是时时更新的,建议爬取时只爬取前几页的即可。以上就是本文的全部内容,希望对大家学习使用Python能有所帮助。

</div>

您可能想查找下面的文章:

  • 利用Python爬取可用的代理IP
  • 利用Python爬取可用的代理IP
  • 利用Python绘制数据的瀑布图的教程

相关文章

  • Python编写检测数据库SA用户的方法
  • 栈和队列数据结构的基本概念及其相关的Python实现
  • Python读取图片EXIF信息类库介绍和使用实例
  • Django中的“惰性翻译”方法的相关使用
  • Python爬虫辅助利器PyQuery模块的安装使用攻略
  • python通过colorama模块在控制台输出彩色文字的方法
  • python非递归全排列实现方法
  • python获取元素在数组中索引号的方法
  • Python切片用法实例教程
  • Python切片知识解析

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • 利用Python中unittest实现简单的单元测试实例详解
    • Python sys.argv用法实例
    • 详解Python迭代和迭代器
    • Python专用方法与迭代机制实例分析
    • 使用Python脚本将文字转换为图片的实例分享
    • Python编程中对super函数的正确理解和用法解析
    • 玩转python爬虫之URLError异常处理
    • 浅谈python中的变量默认是什么类型
    • python单元测试unittest实例详解
    • 在Python中使用异步Socket编程性能测试

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有