提供业务

Python 爬虫IP代理池的实现方式-飞蚁IP代理

2216 2
2018-9-20 12:25:09 发表在 交易市场| 查看全部 阅读模式
很多时候,如果要多线程的爬取网页,或者是单纯的反爬,我们需要通过飞蚁代理IP来进行访问。下面看看一个基本的实现方法。
代理IP的提取,网上有很多网站都提供这个服务。基本上可靠性和银子是成正比的。国内提供的免费IP基本上都是没法用的,如果要可靠的代理只能付费;国外稍微好些,有些免费IP还是比较靠谱的。国内付费的比如飞蚁IP代理
网上随便搜索了一下,找了个网页,本来还想手动爬一些对应的IP,结果发现可以直接下载现成的txt文件
http://www.feiyiproxy.com
使用飞蚁IP代理之后,试试看用不同的代理去爬百度首页
#!/usr/bin/env python#! -*- coding:utf-8 -*-# Author: Yuan Liimport re,urllib.requestfp=open("c:\\temp\\thebigproxylist-17-12-20.txt",'r')lines=fp.readlines()for ip in lines:    try:            print("当前代理IP "+ip)            proxy=urllib.request.ProxyHandler({"http":ip})            opener=urllib.request.build_opener(proxy,urllib.request.HTTPHandler)            urllib.request.install_opener(opener)            url="http://www.baidu.com"            data=urllib.request.urlopen(url).read().decode('utf-8','ignore')            print("通过")            print("-----------------------------")    except Exception as err:        print(err)        print("-----------------------------")fp.close()结果如下:
C:\Python36\python.exe C:/Users/yuan.li/Documents/GitHub/Python/Misc/爬虫/proxy.py当前代理IP 137.74.168.174:80通过-----------------------------当前代理IP 103.28.161.68:8080通过-----------------------------当前代理IP 91.151.106.127:53281HTTP Error 503: Service Unavailable-----------------------------当前代理IP 177.136.252.7:3128<urlopen error [WinError 10060] A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond>-----------------------------当前代理IP 47.89.22.200:80通过-----------------------------当前代理IP 118.69.61.57:8888HTTP Error 503: Service Unavailable-----------------------------当前代理IP 192.241.190.167:8080通过-----------------------------当前代理IP 185.124.112.130:80通过-----------------------------当前代理IP 83.65.246.181:3128通过-----------------------------当前代理IP 79.137.42.124:3128通过-----------------------------当前代理IP 95.0.217.32:8080<urlopen error [WinError 10060] A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond>-----------------------------当前代理IP 104.131.94.221:8080通过不过上面这种方式只适合比较稳定的IP源,如果IP不稳定的话,可能很快对应的文本就失效了,最好可以动态地去获取最新的IP地址。很多网站都提供API可以实时地去查询
还是用刚才的网站,这次我们用API去调用,这里需要浏览器伪装一下才能爬取
#!/usr/bin/env python#! -*- coding:utf-8 -*-# Author: Yuan Liimport re,urllib.requestheaders=("User-Agent","Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.22 Safari/537.36 SE 2.X MetaSr 1.0")opener=urllib.request.build_opener()opener.addheaders=[headers]#安装为全局urllib.request.install_opener(opener)data=urllib.request.urlopen("http://www.thebigproxylist.com/members/proxy-api.php?output=all&user=list&pass=8a544b2637e7a45d1536e34680e11adf").read().decode('utf8')ippool=data.split('\n')for ip in ippool:    ip=ip.split(',')[0]    try:            print("当前代理IP "+ip)            proxy=urllib.request.ProxyHandler({"http":ip})            opener=urllib.request.build_opener(proxy,urllib.request.HTTPHandler)            urllib.request.install_opener(opener)            url="http://www.baidu.com"            data=urllib.request.urlopen(url).read().decode('utf-8','ignore')            print("通过")            print("-----------------------------")    except Exception as err:        print(err)        print("-----------------------------")fp.close()结果如下:
C:\Python36\python.exe C:/Users/yuan.li/Documents/GitHub/Python/Misc/爬虫/proxy.py当前代理IP 213.233.57.134:80HTTP Error 403: Forbidden-----------------------------当前代理IP 144.76.81.79:3128通过-----------------------------当前代理IP 45.55.132.29:53281HTTP Error 503: Service Unavailable-----------------------------当前代理IP 180.254.133.124:8080通过-----------------------------当前代理IP 5.196.215.231:3128HTTP Error 503: Service Unavailable-----------------------------当前代理IP 177.99.175.195:53281HTTP Error 503: Service Unavailable因为直接for循环来按顺序读取文本实在是太慢了,我试着改成多线程来读取,这样速度就快多了
#!/usr/bin/env python#! -*- coding:utf-8 -*-# Author: Yuan Liimport threadingimport queueimport re,urllib.request#Number of threadsn_thread = 10#Create queuequeue = queue.Queue()class ThreadClass(threading.Thread):    def __init__(self, queue):        threading.Thread.__init__(self)                super(ThreadClass, self).__init__()    #Assign thread working with queue        self.queue = queue    def run(self):        while True:        #Get from queue job            host = self.queue.get()            print (self.getName() + ":" + host)            try:                # print("当前代理IP " + host)                proxy = urllib.request.ProxyHandler({"http": host})                opener = urllib.request.build_opener(proxy, urllib.request.HTTPHandler)                urllib.request.install_opener(opener)                url = "http://www.baidu.com"                data = urllib.request.urlopen(url).read().decode('utf-8', 'ignore')                print("通过")                print("-----------------------------")            except Exception as err:                print(err)                print("-----------------------------")            #signals to queue job is done            self.queue.task_done()#Create number processfor i in range(n_thread):    t = ThreadClass(queue)    t.setDaemon(True)    #Start thread    t.start()#Read file line by linehostfile = open("c:\\temp\\thebigproxylist-17-12-20.txt","r")for line in hostfile:    #Put line to queue    queue.put(line)#wait on the queue until everything has been processedqueue.join()深圳市飞蚁网络科技有限公司                       
                        商务合作:18922803474                       
                        邮箱:liyulan@feiyiproxy.com                       

                        公司地址:深圳市南山区高新技术产业园区综合楼W1-A4楼B-05                       
                        公司网址:www.feiyiproxy.com                       

本文转载于:1CTO博客作者beanxyz

全部评论2

沙发 2018-9-20 12:25:44 | 查看全部
深圳市飞蚁网络科技有限公司                       
                        商务合作:18922803474                       
                        邮箱:liyulan@feiyiproxy.com                       

                        公司地址:深圳市南山区高新技术产业园区综合楼W1-A4楼B-05                       
                        公司网址:www.feiyiproxy.com      
3楼 2018-9-21 10:51:45 | 查看全部
飞蚁IP代理,牛逼的ip代理,http代理http://www.feiyiproxy.com

回复

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

猜你喜欢
  • 淘宝这种直通车打法真的好强,就一天给我增加到88单!
    **** 本内容被作者隐藏 **** ...
    蹲坑哲学家|2026-06-17| 阅读 161|评论 16
  • 电商新手必懂:全标题半标题精准长尾词定义与用法
    突然发现,有些淘宝商家连基本的关键词都不会玩。全标题、半标题、精准长尾词、精准词和大词,到底是什么词? 很多商家问新品刚上架以后怎么补单,我应该选什么样的词去做?补单关键词主要是全标题、半标题、精准长尾词、精准词和大词。那这些词到底是什么样的词?虽然 ...
    zhaoqiaoqian|2026-06-17| 阅读 89|评论 3
  • 淘宝新品28天起爆流程与各阶段操作重点
    先搞懂:平台给你的28天,到底在考什么? 很多人以为新品上架,平台会直接给大流量——错!这28天是平台的「试探期」,就像HR招人的试用期,通过阶段性考核,才会给你更多资源。 核心逻辑就一个:你能不能把流量用明白。能就流量翻倍;不能,直接把你从流量池里踢出去 ...
    hot|2026-06-18| 阅读 53|评论 6
  • 2026年最新单品爆款周期性运营推广流程
    我们现在做店都是全店爆款打造思路或者全店矩阵打品思路,如果你还没有打法思路,那你今天可以学习一下,今天赤壁哥的内容是关于单品爆款周期性运营推广流程,也就是说,从刚开始你做完产品内功,上架链接,选择推广的计划,包括渠道,首先就是产品的基础成交期——中后 ...
    火烧赤壁|2026-06-03| 阅读 202|评论 0
  • 【运营的自我修养】2026年淘系整套运营系列(连载三)
    大家好,我是赤总,2026年了,没有以前那种激情的电商氛围了,都只忙自己的店铺,物是人非。 今天我给大家分享的一整套系列玩法,适用于所有类目,尤其是标品类目,如果你们有做标品类目的,一定要认真的看我这一整套运营流程,从一开始通过生意参谋分析一些行业的一些 ...
    火烧赤壁|2026-06-14| 阅读 202|评论 0
  • 每天几十张商品图要处理,我用这套方法从2小时缩到20分钟
    做女装三年了,从最开始啥也不会,到后面专门招美工,现在又回到自己动手。 不是美工不好用,是沟通成本太高。一张图来来回回改三四次,等她排期做完,平台流量高峰期都过了。 后来逼着自己找方法,试了一圈工具,现在总算有一套稳定的流程。今天纯分享,不废话,直接上 ...
    抠图123|2026-06-18| 阅读 0|评论 0
  • 很多淘宝新店没访客、没流量,不是产品不行,是标题写错了!
    很多淘宝新店没访客、没流量,不是产品不行,是标题写错了! 乱堆砌关键词、跟风抄同行、字数凑数 直接导致:搜索不到、权重不涨、永远没自然流量 分享一套我们代运营一直在用的「万能标题公式』,新手套用即可,快速拉高搜索曝光 淘宝黄金标题结构(30字满字利用) ...
    hansha|2026-06-18| 阅读 0|评论 0
  • 拼多多改版后怎么报活动
    拼多多大变天了,看图 洗完链接不能直接去到大促了,有的甚至需要等待72个小时。如果你的店铺被比价了,千万不要去洗你的老链接,洗完会直接断流。如果被比价了,我们只需要去报名:21593、21408、20303,流量就能恢复。 ...
    如果爱|2026-06-18| 阅读 0|评论 0
  • 拼多多活动比价解决方法
    做拼多多最怕活动上得好好的,突然被系统比价。平台让你降价,不同意就断流,下资源位。同意降价,自己就要亏本。那到底怎么办?一分钟给你们讲明白,操作其实非常简单。 首先,打开营销活动,找到活动ID 21824,这个是可以原价直接报名的。 **** 本内容被作者隐藏 *** ...
    `Demon|2026-05-28| 阅读 337|评论 19
  • 【运营的自我修养】市场分析属性风格容量大小以竞品竞店数据分析(连载二)
    大家好,我是赤总,咱们今天也来聊一聊基础的数据分析,哈哈。 一、市场分析属性风格容量大小以及类目销量瓶颈 我们在操作不同类目产品的时候,往往会形成一种数据对比思维,为什么A类目月销能做到1000,B类目一样的布局策略只能做到500,以及为什么A类目一样的操作策略 ...
    火烧赤壁|2026-06-08| 阅读 202|评论 0
热帖推荐换一批
关灯 在本版发帖 返回顶部
快速回复 返回顶部 返回列表