国产探花免费观看_亚洲丰满少妇自慰呻吟_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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 内丘县| 汉中市| 马边| 江口县| 左云县| 汽车| 柘荣县| 安达市| 义马市| 宣化县| 巢湖市| 万宁市| 汶川县| 昌宁县| 湄潭县| 龙州县| 青浦区| 贡嘎县| 五指山市| 长沙市| 灵寿县| 沙雅县| 晋宁县| 达日县| 河南省| 大埔区| 仙游县| 石首市| 吉隆县| 克东县| 信丰县| 六安市| 溧阳市| 乐亭县| 西峡县| 于都县| 桑日县| 广西| 泗阳县| 泰来县| 五大连池市|