Heim > Backend-Entwicklung > Python-Tutorial > Der Python-Crawler Scrapy verwendet die Proxy-Konfiguration

Der Python-Crawler Scrapy verwendet die Proxy-Konfiguration

高洛峰
Freigeben: 2016-10-17 13:56:57
Original
2335 Leute haben es durchsucht

Beim Crawlen von Website-Inhalten tritt am häufigsten folgendes Problem auf: Die Website unterliegt IP-Einschränkungen und verfügt über eine Anti-Crawling-Funktion. Der beste Weg ist, die IP-Erfassung zu rotieren (Proxy hinzufügen)

Lass uns darüber reden wie Scrapy den Proxy für das Crawlen konfiguriert

1. Erstellen Sie eine neue „middlewares.py“ unter dem Scrapy-Projekt

# Importing base64 library because we'll need it ONLY in case if the proxy we are going to use requires authentication
import base64 
# Start your middleware class
class ProxyMiddleware(object):
    # overwrite process request
    def process_request(self, request, spider):
        # Set the location of the proxy
        request.meta['proxy'] = "http://YOUR_PROXY_IP:PORT"
  
        # Use the following lines if your proxy requires authentication
        proxy_user_pass = "USERNAME:PASSWORD"
        # setup basic authentication for the proxy
        encoded_user_pass = base64.encodestring(proxy_user_pass)
        request.headers['Proxy-Authorization'] = 'Basic ' + encoded_user_pass
Nach dem Login kopieren

2. Fügen Sie

DOWNLOADER_MIDDLEWARES = {
    'scrapy.contrib.downloadermiddleware.httpproxy.HttpProxyMiddleware': 110,
    'pythontab.middlewares.ProxyMiddleware': 100,
}
Nach dem Login kopieren

zur Projektkonfigurationsdatei (./pythontab/settings.py)


hinzu
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage