2012-07-22 29 views
6

Tôi cần trợ giúp thiết lập Tor trong Ubuntu và sử dụng nó trong khuôn khổ cồng kềnh.Sử dụng proxy Tor với scrapy

tôi đã làm một số nghiên cứu và phát hiện ra hướng dẫn này:

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) 

sau đó sử dụng nó trong settings.py:

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

và sau đó bạn chỉ muốn gửi yêu cầu qua proxy tor địa phương (polipo) có thể được thực hiện với:

tsocks scrapy crawl spirder 

không ai có thể xác nhận, phương pháp này hoạt động và bạn nhận được IP không ổn định?

+0

Chỉ cần cố gắng về tài nguyên của riêng bạn và kiểm tra các bản ghi máy chủ. Và thiết lập danh sách trình nhận dạng trình duyệt để ẩn từ chủ sở hữu :) hoặc thêm id unic cho trình thu thập thông tin của bạn. – nk9

+0

Làm cách nào để đặt danh sách nhận dạng trình duyệt? – DjangoPy

+0

Ồ ... Tôi đã không làm việc với cồng kềnh, vì vậy tôi chỉ cần nhìn vào sự giúp đỡ bây giờ :). Nhưng đối với các bài kiểm tra trên trang web của riêng bạn, hãy sử dụng id unic tốt hơn để dễ dàng phân tích nhật ký – nk9

Trả lời