係統粉 > IT資訊 > 微軟資訊

Win10環境下的Scrapy結合Tor進行匿名爬取

發布時間:2017-05-27    瀏覽數:
Win10環境下的Scrapy結合Tor進行匿名爬取(1)

原文:http://m.cnblogs.com/kylinlin/p/5242266.html

在使用Scrapy的時候,一旦進行高頻率的爬取就容易被封IP,此時可以通過使用TOR來進行匿名爬取,同時要安裝Polipo代理服務器。

注意:要進行下麵的操作的前提是,你能FQ

安裝TORWin10環境下的Scrapy結合Tor進行匿名爬取(2)Win10環境下的Scrapy結合Tor進行匿名爬取(3)Win10環境下的Scrapy結合Tor進行匿名爬取(4)

點擊啟動Tor

Win10環境下的Scrapy結合Tor進行匿名爬取(5)

過一陣子後顯示連接成功

Win10環境下的Scrapy結合Tor進行匿名爬取(6)

下載安裝Polipo

選擇polipo-1.1.0-win32.zip,下載並解壓,然後編輯解壓後的文件config.sample,在文件的開頭加上以下配置

socksParentProxy = "localhost:9050"

socksProxyType = socks5

diskCacheRoot = ""

使用cmd命令運行該目錄下的程序:polipo.exe -c config.sample

Win10環境下的Scrapy結合Tor進行匿名爬取(7)

打開edge瀏覽器,設置代理

Win10環境下的Scrapy結合Tor進行匿名爬取(8)

然後在瀏覽器中訪問:

看到以下的界麵意味著配置成功

Win10環境下的Scrapy結合Tor進行匿名爬取(9)

配置Scrapy

在settings.py文件中加入下麵的內容

#More comprehensive list can be found at

#http://techpatterns.com/forums/about304.html

USER_AGENT_LIST = [

'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.36 Safari/535.7',

'Mozilla/5.0 (Windows NT 6.2; Win64; x64; rv:16.0) Gecko/16.0 Firefox/16.0',

'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_3) AppleWebKit/534.55.3 (KHTML, like Gecko) Version/5.1.3 Safari/534.53.10',

]

HTTP_PROXY = 'http://127.0.0.1:8123'

DOWNLOADER_MIDDLEWARES = {

'myspider.middlewares.RandomUserAgentMiddleware': 400, # 修改這裏的myspider為項目名稱

'myspider.middlewares.ProxyMiddleware': 410, # 同上

'scrapy.contrib.downloadermiddleware.useragent.UserAgentMiddleware': ,

}

在scrapy項目的根目錄新建一個middlewares.py文件,並輸入以下內容

import random

from scrapy.conf import settings

from scrapy import log

class RandomUserAgentMiddleware(object):

def process_request(self, request, spider):

ua = random.choice(settings.get('USER_AGENT_LIST'))

if ua:

request.headers.setdefault('User-Agent', ua)

#this is just to check which user agent is being used for request

spider.log(

u'User-Agent: {} {}'.format(request.headers.get('User-Agent'), request),

level=log.DEBUG

)

class ProxyMiddleware(object):

def process_request(self, request, spider):

request.meta['proxy'] = settings.get('HTTP_PROXY')

至此,scrapy與tro的整合完成了,本文不對任何人使用這個方法所造成的後果負責

配置Tor瀏覽器

下麵的內容與上麵無關,隻是記錄一下如何使用Tor瀏覽器,在我們下載tor的頁麵上,還有一個下載選項(第一個就是一個瀏覽器,通過該瀏覽器可以匿名訪問網頁,Tor Browser會自動通過Tor網絡啟動Tor的後台進程連接網絡。一旦關閉程序的便會自動刪除隱私敏感數據,如HTTP cookie和瀏覽曆史記錄,以避免竊聽並保留在互聯網上的隱私)

Win10環境下的Scrapy結合Tor進行匿名爬取(10)

下載了第一個Tor Browser並安裝後,進行下麵的配置

Win10環境下的Scrapy結合Tor進行匿名爬取(11)

由於Tor的連接被牆掉了,所以要配置網橋

Win10環境下的Scrapy結合Tor進行匿名爬取(12)

獲取網橋:

Win10環境下的Scrapy結合Tor進行匿名爬取(13)Win10環境下的Scrapy結合Tor進行匿名爬取(14)

將網橋複製下來,粘貼到tor瀏覽器上

Win10環境下的Scrapy結合Tor進行匿名爬取(15)Win10環境下的Scrapy結合Tor進行匿名爬取(16)

有時候連接不成功,就要再申請新的網橋來嚐試

題圖:pexels,CC0 授權。

上一篇:微軟股價突破70美元 達到創曆史最高 下一篇:MacBook Pro 2016值得買嗎 改裝Win10評測

相關資訊

最新熱門應用

電腦問答