2012-07-22 95 views
6

我需要幫助在Ubuntu中設置Tor並在scrapy框架內使用它。使用Tor代理與scrapy

我做了一些研究,發現該指南:

class RetryChangeProxyMiddleware(RetryMiddleware): 

    def _retry(self, request, reason, spider): 
     log.msg('Changing proxy') 
     tn = telnetlib.Telnet('127.0.0.1', 9051) 
     tn.read_until("Escape character is '^]'.", 2) 
     tn.write('AUTHENTICATE "267765"\r\n') 
     tn.read_until("250 OK", 2) 
     tn.write("signal NEWNYM\r\n") 
     tn.read_until("250 OK", 2) 
     tn.write("quit\r\n") 
     tn.close() 
     time.sleep(3) 
     log.msg('Proxy changed') 
     return RetryMiddleware._retry(self, request, reason, spider) 

然後settings.py中使用它:

DOWNLOADER_MIDDLEWARE = { 
         'spider.middlewares.RetryChangeProxyMiddleware': 600, 
         } 

,然後你只是想通過發送本地TOR代理請求(Polipo即可)可以這樣做:

tsocks scrapy crawl spirder 

沒有人可以確認,這種方法的工作原理,你得到di不同的IP?

+0

剛剛嘗試對自己的資源,並檢查服務器日誌。並設置用於隱藏所有者的瀏覽器標識符列表:)或爲您的搜尋器添加unic id。 – nk9 2012-07-22 19:56:41

+0

如何設置瀏覽器標識列表? – DjangoPy 2012-07-22 20:07:48

+0

哦......我沒有使用scrapy,所以現在我只是尋求幫助:)。但對於你自己的網站測試更好地使用unic id來輕鬆解析日誌 – nk9 2012-07-22 20:14:32

回答