• 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绘制数据的瀑布图的教程

相关文章

  • 在Django中创建动态视图的教程
  • 玩转python爬虫之URLError异常处理
  • python在多玩图片上下载妹子图的实现代码
  • python正则表达式re模块详解
  • python daemon守护进程实现
  • 一个基于flask的web应用诞生 flask和mysql相连(4)
  • Python画图学习入门教程
  • python中安装模块包版本冲突问题的解决
  • Python内置的字符串处理函数整理
  • Python中的if、else、elif语句用法简明讲解

文章分类

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

最近更新的内容

    • 浅谈Python生成器generator之next和send的运行流程(详解)
    • wxPython窗口中文乱码解决方法
    • Python和perl实现批量对目录下电子书文件重命名的代码分享
    • Python中的ConfigParser模块使用详解
    • java直接调用python脚本的例子
    • Python3基础之list列表实例解析
    • 多线程爬虫批量下载pcgame图片url 保存为xml的实现代码
    • python基础while循环及if判断的实例讲解
    • Python中方法链的使用方法
    • Python程序设计入门(4)模块和包

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

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