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

Der Python-Crawler Scrapy verwendet die Proxy-Konfiguration

高洛峰
高洛峰Original
2016-10-17 13:56:572304Durchsuche

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

2. Fügen Sie

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

zur Projektkonfigurationsdatei (./pythontab/settings.py)


hinzu
Stellungnahme:
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