国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python使用代理抓取網站圖片(多線程)

2020-02-23 05:15:38
字體:
來源:轉載
供稿:網友

一、功能說明:
1. 多線程方式抓取代理服務器,并多線程驗證代理服務器
ps 代理服務器是從http://www.cnproxy.com/ (測試只選擇了8個頁面)抓取
2. 抓取一個網站的圖片地址,多線程隨機取一個代理服務器下載圖片
二、實現代碼
代碼如下:
#!/usr/bin/env python
#coding:utf-8

import urllib2
import re
import threading
import time
import random

rawProxyList = []
checkedProxyList = []
imgurl_list = []

#抓取代理網站
portdicts ={'v':"3",'m':"4",'a':"2",'l':"9",'q':"0",'b':"5",'i':"7",'w':"6",'r':"8",'c':"1"}
targets = []
for i in xrange(1,9):
        target = r"http://www.cnproxy.com/proxy%d.html" % i
        targets.append(target)
#print targets

#抓取代理服務器正則
p = re.compile(r'''<tr><td>(.+?)<SCRIPT type=text/javascript>document.write/(":"/+(.+?)/)</SCRIPT></td><td>(.+?)</td><td>.+?</td><td>(.+?)</td></tr>''')

#獲取代理的類
class ProxyGet(threading.Thread):
    def __init__(self,target):
        threading.Thread.__init__(self)
        self.target = target

    def getProxy(self):
        print "代理服務器目標網站: " + self.target
        req = urllib2.urlopen(self.target)
        result = req.read()
        #print chardet.detect(result)
        matchs = p.findall(result)
        for row in matchs:
            ip=row[0]
            port =row[1]
            port = map(lambda x:portdicts[x],port.split('+'))
            port = ''.join(port)
            agent = row[2]
            addr = row[3].decode("cp936").encode("utf-8")
            proxy = [ip,port,addr]
            #print proxy
            rawProxyList.append(proxy)

    def run(self):
        self.getProxy()

#檢驗代理的類
class ProxyCheck(threading.Thread):
    def __init__(self,proxyList):
        threading.Thread.__init__(self)
        self.proxyList = proxyList

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 柞水县| 金阳县| 铁岭县| 裕民县| 柘城县| 会宁县| 萍乡市| 诏安县| 沁源县| 化德县| 军事| 玉环县| 元阳县| 乌拉特中旗| 通河县| 黑河市| 昌平区| 青河县| 安阳县| 江华| 临湘市| 宜春市| 静宁县| 青川县| 昌都县| 西藏| 建平县| 灵丘县| 鄂托克前旗| 合川市| 纳雍县| 蓝田县| 拜泉县| 伊宁县| 墨竹工卡县| 河北区| 通山县| 三江| 乌什县| 华安县| 梅河口市|