帮朋友抓了一些代理IP,并根据测试联的通性,放在了不通的文件夹下。特将源码分享

注意:

1,环境Python3.5

2,安装BeautifulSoup4  requests

代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#-*- coding:gb18030 -*-
 
from bs4 import BeautifulSoup
import requests
import time
import os,sys
 
all_url_add={
      'url2':'http://ip84.com/gn/',
      }
 
def func(url):
    = requests.get(url)
    content = r.text
    soup = BeautifulSoup(content, "html.parser")
    ListTable = soup.find_all("table"class_="list")
    for table in ListTable:
        ListTr = table.find_all("tr")
        for tr in ListTr:
            try:
                ListTd = tr.find_all("td")
                ipaddress = str(ListTd[0].get_text()).strip()
                port = str(ListTd[1].get_text()).strip()
                city = str(ListTd[2].get_text()).strip().replace("\n", "")
                leixing = str(ListTd[3].get_text()).strip()
                xieyi = str(ListTd[4].get_text()).strip()
                shudu = str(ListTd[5].get_text()).strip()
                time1 = str(ListTd[6].get_text()).strip()
                = open("ip" + '.txt''a')
                f.write(ipaddress+":"+port+'\n')
                f.close()
                print('地址:'+ipaddress + "端口:" + port + "地区:" + city + "类型:" + leixing + "协议" + xieyi + "速度" + shudu + "时间:" + time1)
            except Exception as e:
                print (u"-------------------程序异常-----------------------")
        return 'success'
    print (u'本页抓取结束,正在跳转下一页')
 
 
def pin():
    f2 = open('ip.txt''r')
    count = len(open('ip.txt''rU').readlines())
    for in range(count):
        ip = f2.readline().split(':')[0]
        return1 = os.system('ping -n 5 -w 5 %s' % ip)  
        if return1:
            print('测试失败')
        else:
            print('测试成功,正在写入新文件')
            f3 = open('SuccessIp.txt''a')
            f3.write(f2.readline() + '\n')
            f3.close()
    f2.close()
    print('程序结束,可用IP已放在SuccessIp中')
 
 
if  __name__=='__main__':
        for in all_url_add:
            print (x)
            for in range(1,50):
                url=all_url_add[x]+str(y)
                print (url)
                status=func(url)
                if status=='success':
                    print(y,'页结束')
        print (u'****程序抓取运行结束,正在检查所得IP连通性,请勿关闭窗口*****')
        pin()

有点乱,有时间将数据存储在数据库,再将这个功能集成在博客当中。

Rex博客保留所有权利

Python 爬虫抓取代理IP,并检测联通性的更多相关文章

  1. python爬虫爬取代理IP

    # #author:wuhao # #--*------------*-- #-****#爬取代理IP并保存到Excel----#爬取当日的代理IP并保存到Excel,目标网站xicidaili.co ...

  2. python爬虫成长之路(二):抓取代理IP并多线程验证

    上回说到,突破反爬虫限制的方法之一就是多用几个代理IP,但前提是我们得拥有有效的代理IP,下面我们来介绍抓取代理IP并多线程快速验证其有效性的过程. 一.抓取代理IP 提供免费代理IP的网站还挺多的, ...

  3. python 爬虫抓取心得

    quanwei9958 转自 python 爬虫抓取心得分享 urllib.quote('要编码的字符串') 如果你要在url请求里面放入中文,对相应的中文进行编码的话,可以用: urllib.quo ...

  4. Python爬虫教程-11-proxy代理IP,隐藏地址(猫眼电影)

    Python爬虫教程-11-proxy代理IP,隐藏地址(猫眼电影) ProxyHandler处理(代理服务器),使用代理IP,是爬虫的常用手段,通常使用UserAgent 伪装浏览器爬取仍然可能被网 ...

  5. Python爬虫----抓取豆瓣电影Top250

    有了上次利用python爬虫抓取糗事百科的经验,这次自己动手写了个爬虫抓取豆瓣电影Top250的简要信息. 1.观察url 首先观察一下网址的结构 http://movie.douban.com/to ...

  6. Python爬虫抓取东方财富网股票数据并实现MySQL数据库存储

    Python爬虫可以说是好玩又好用了.现想利用Python爬取网页股票数据保存到本地csv数据文件中,同时想把股票数据保存到MySQL数据库中.需求有了,剩下的就是实现了. 在开始之前,保证已经安装好 ...

  7. python爬虫抓取哈尔滨天气信息(静态爬虫)

    python 爬虫 爬取哈尔滨天气信息 - http://www.weather.com.cn/weather/101050101.shtml 环境: windows7 python3.4(pip i ...

  8. python 爬虫抓取 MOOC 中国课程的讨论区内容

    一:selenium 库 selenium 每次模拟浏览器打开页面,xpath 匹配需要抓取的内容.可以,但是特别慢,相当慢.作为一个对技术有追求的爬虫菜鸡,狂补了一些爬虫知识.甚至看了 scrapy ...

  9. Python 爬虫: 抓取花瓣网图片

    接触Python也好长时间了,一直没什么机会使用,没有机会那就自己创造机会!呐,就先从爬虫开始吧,抓点美女图片下来. 废话不多说了,讲讲我是怎么做的. 1. 分析网站 想要下载图片,只要知道图片的地址 ...

随机推荐

  1. css之选择器总结

    首先我们来看下有哪些选择器??? 一.基础选择器: html标签选择器:通过html标签来选择元素. ①所有的html标签都可以当做选择器. ②无论标签藏多深都会被选中. ③选择的是所有的标签而不是某 ...

  2. Charles抓包工具安装与配置

    在实际开发中,我们需要时常抓取线上的请求及数据,甚至是请求的html文档,js,css等静态文件来进行调试.在这里,我使用charles来进行以上操作.但是呢,charles需要进行一系列配置才能达到 ...

  3. SVN仓库迁移到Git的完美解决办法

    参考文章Converting a Subversion repository to Git 1 使用git svn clone 拷贝svn仓库 cd ~/test_repo git svn clone ...

  4. axis1.4开发webservice客户端(快速入门)-基于jdk1.4

    写在前面: 对于客户端,服务端开发好了以后,客户端只需要调用就可以了.这里我们讲的是,根据服务的访问地址,来生成客户端所需要用到的代码(听说有几种调用方式,但是用到最常见的就是stub方式,貌似我说的 ...

  5. Linux10分钟入门

    最近打算考红帽认证,将自己学习到的和工作中常用的一些命令进行总结,供初学者和一定基础的参考. 想系统性学习的话,还是建议看书(鸟哥的Linux私房菜)和看视频(基础版,推荐马哥和老男孩,不推荐**** ...

  6. 如何使用slice,substr代替substring(原创)

    //写这个是为了加深对substring和slice的理解 substring: 任何一个参数小于0,都会被替换成0.两个参数,最小值会被当做start,最大值当做end. 参数 描述 start 必 ...

  7. 记一次SAP新业务开发项目

    直到笔者写这篇博文的时候,这个开发项目名义上已经上线,但其实开发以及优化的工作还在继续,数据的修复也仍在继续... IT系统环境很简单,一个基于JAVA+Mysql的Web平台,一个是宇宙第一的SAP ...

  8. linux可用更新源

    Kali 2.0更新源kali-rolling:#中科大deb http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contribde ...

  9. My sql添加远程用户root密码为password

    添加远程用户root密码为password grant all privileges on *.* to root@localhost identified by '123321' with gran ...

  10. shell十分钟教程

    1.先介绍下shell的工作原理 Shell可以被称作是脚本语言,因为它本身是不需要编译的,而是通过解释器解释之后再编译执行,和传统语言相比多了解释的过程所以效率会略差于传统的直接编译的语言. 但是s ...