在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/Python/ scapy爬蟲(chóng)怎樣檢測(cè)配置的IP代理是否生效?

scapy爬蟲(chóng)怎樣檢測(cè)配置的IP代理是否生效?

您好!

問(wèn)題:

  1. 通過(guò)response.request.headers() 能檢測(cè)到當(dāng)前請(qǐng)求的header信息(因?yàn)殡S機(jī)了user-agent),但是想確定配置的IP代理 是否生效應(yīng)該怎么獲取當(dāng)前請(qǐng)求用的哪個(gè)ip?
  2. 一般來(lái)說(shuō),更換了user-agent,和ip地址,會(huì)出現(xiàn)驗(yàn)證碼的網(wǎng)頁(yè)就不會(huì)出現(xiàn)了,對(duì)嗎?如果是帶了cookie的原因,我不用cookie 依然出現(xiàn)驗(yàn)證碼 讓我的爬蟲(chóng)結(jié)束運(yùn)行,所以懷疑IP代理沒(méi)有配置上。

    # 代理接口 的中間件
    class ProxyAPIMiddleware(object):

       def process_request(self, request, spider):
           req = urllib.request.Request('請(qǐng)求的ip接口url')
           response = urllib.request.urlopen(req)
           ip = 'http://%s' % str(response.read(), 'utf-8')   #獲取到ip+端口 
           request.meta['proxy'] = ip                         #配置ip
           print(request.meta['proxy'])                       #運(yùn)行的時(shí)候 這里是有輸出的,說(shuō)明成功調(diào)用了代理API,但是request.meta['proxy'] = ip 使是設(shè)置當(dāng)前請(qǐng)求的ip的吧?
    

運(yùn)行的時(shí)候:

     .
     .
     .
     .
    2018-06-23 15:57:29 [scrapy.middleware] INFO: Enabled spider middlewares:
    ['scrapy.spidermiddlewares.httperror.HttpErrorMiddleware',
     'scrapy.spidermiddlewares.offsite.OffsiteMiddleware',
     'scrapy.spidermiddlewares.referer.RefererMiddleware',
     'scrapy.spidermiddlewares.urllength.UrlLengthMiddleware',
     'scrapy.spidermiddlewares.depth.DepthMiddleware']
    鏈接數(shù)據(jù)庫(kù)=================
    2018-06-23 15:57:30 [scrapy.middleware] INFO: Enabled item pipelines:
    ['soopat_patent.pipelines.SoopatPatentPipeline']
    2018-06-23 15:57:30 [scrapy.core.engine] INFO: Spider opened
    2018-06-23 15:57:30 [scrapy.extensions.logstats] INFO: Crawled 0 pages (at 0 pages/min), scraped 0 items (at 0 items/min)
    2018-06-23 15:57:30 [scrapy.extensions.telnet] DEBUG: Telnet console listening on 127.0.0.1:6023
    更換User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.89 Safari/537.1
    請(qǐng)求代理
    設(shè)置請(qǐng)求ip: http://122.230.248.127:4523
    
    http://122.230.248.127:4523
    
    2018-06-23 15:57:33 [scrapy.downloadermiddlewares.retry] DEBUG: Retrying <GET http://www.soopat.com/> (failed 1 times): [<twisted.python.failure.Failure twisted.internet.error.ConnectionLost: Connection to the other side was lost in a non-clean fashion.>]
    更換User-Agent: Mozilla/5.0 (compatible; WOW64; MSIE 10.0; Windows NT 6.2)
    請(qǐng)求代理
    設(shè)置請(qǐng)求ip: http://60.172.68.112:4507
    
    http://60.172.68.112:4507
    2018-06-23 15:57:39 [scrapy.core.engine] DEBUG: Crawled (200) <GET http://www.soopat.com/> (referer: http://www.soopat.com/)
    正在檢索分析相關(guān)的結(jié)果=========================
    更換User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; zh-CN; rv:1.9.2.10) Gecko/20100922 Ubuntu/10.10 (maverick) Firefox/3.6.10
    請(qǐng)求代理
    設(shè)置請(qǐng)求ip: http://140.255.4.142:4523
    
    http://140.255.4.142:4523
    
    2018-06-23 15:57:43 [scrapy.core.engine] DEBUG: Crawled (200) <GET ....)
    
    驗(yàn)證碼緩沖時(shí)間。。
    有驗(yàn)證碼,等待一會(huì)兒在試...
    當(dāng)前頁(yè)所有類別列表[]
    沒(méi)有進(jìn)入詳情頁(yè),可能出現(xiàn)驗(yàn)證碼。。。
    list index out of range
    2018-06-23 15:57:48 [scrapy.core.engine] INFO: Closing spider (finished)
    2018-06-23 15:57:48 [scrapy.statscollectors] INFO: Dumping Scrapy stats:
    
    .
    .
    .
    
    

scrapy爬蟲(chóng) 在剛運(yùn)行的時(shí)候是正常的,數(shù)據(jù)正常入庫(kù),但是第二天再次運(yùn)行的時(shí)候 ,直接被驗(yàn)證碼擋住了。
爬蟲(chóng)小白,虛心請(qǐng)教,謝謝各位了。

回答
編輯回答
瞄小懶

一般情況下,可訪問(wèn)第三方接口獲得代理信息,比如淘寶 IP 位置識(shí)別服務(wù),也可以自己搭建一個(gè)公網(wǎng)接口。

2017年9月30日 15:23