天天看點

scrapy抓取免費代理IP

1、建立項目

scrapy startproject getProxy

2、建立spider檔案,抓取www.proxy360.cn www.xicidaili.com兩個代理網站内容

cd項目的spiders子產品下執行

scrapy genspider proxy360Spider proxy360.cn

scrapy genspider xiciSpider xicidaili.com

<a href="http://www.proxy360.cn/Region/China" target="_blank">scrapy shell http://www.xicidaili.com/nn/2</a>

執行結果發現proxy360.cn response 傳回200,西刺網傳回500需要修改一下預設的請求頭參數

3、項目檔案結構

<a href="https://s3.51cto.com/wyfs02/M01/9B/66/wKiom1li7cDwXvtKAABRQfsmN0g893.jpg-wh_500x0-wm_3-wmp_4-s_304888260.jpg" target="_blank"></a>

4、需要修改settings檔案的user agent通過浏覽器代理抓取

5、打開items檔案,定義需要爬取的字段

6、打開proxy360Spider定義爬取的邏輯

打開xiciSpider定義西刺網爬取的邏輯

7、定義爬取結果,資料處理層pipelines

分别将proxy360網站的資料存到prox360.txt檔案

西刺網的爬取資料存到xicidaili.txt檔案

<a href="https://s4.51cto.com/wyfs02/M01/9B/68/wKiom1li9uXw5BPQAADXzoU8TtA886.jpg" target="_blank"></a>

8、打開settings裡面關于pipelines的定義

<a href="https://s2.51cto.com/wyfs02/M02/9B/68/wKioL1li9xyx-IecAAAcSamXeTs064.jpg" target="_blank"></a>

9、在spiders子產品下分别執行,生成抓取的文本内容

scrapy crawl proxy360Spider

<a href="https://s2.51cto.com/wyfs02/M01/9B/67/wKiom1li88CwJetRAACw5yoesQg665.jpg-wh_500x0-wm_3-wmp_4-s_3500667931.jpg" target="_blank"></a>

10、爬取結果到此結束,但是并不是每一個代理都是可用的,是以需要我們再去驗證一下,過濾出來可用的代理,getProxy子產品下建立proxy檔案擷取可用代理

<a href="https://s1.51cto.com/wyfs02/M01/9B/68/wKiom1li96OSjcqrAACfYFfWHkM224.jpg" target="_blank"></a>

<a href="https://s2.51cto.com/wyfs02/M00/9B/68/wKiom1li96TR6DHaAACBOoHgxyM205.jpg" target="_blank"></a>

11、最後得到alive.txt檔案存放可用的代理結果,至此結束

本文轉自 無心低語 51CTO部落格,原文連結:http://blog.51cto.com/fengzhankui/1945849,如需轉載請自行聯系原作者