python

python爬虫request怎样设置代理

小樊
83
2024-12-07 15:17:43
栏目: 编程语言

在Python的requests库中,可以通过设置proxies参数来使用代理。以下是一个简单的示例:

import requests

url = 'https://www.example.com'
proxies = {
    'http': 'http://your_proxy_ip:your_proxy_port',
    'https': 'http://your_proxy_ip:your_proxy_port',
}

response = requests.get(url, proxies=proxies)

print(response.text)

请将your_proxy_ipyour_proxy_port替换为您的代理服务器的IP地址和端口号。您可以选择使用HTTP或HTTPS协议,根据您的代理服务器支持的情况。

此外,如果您使用的是Scrapy框架,可以在settings.py文件中设置代理:

HTTP_PROXY = 'http://your_proxy_ip:your_proxy_port'

DOWNLOADER_MIDDLEWARES = {
    'myproject.middlewares.ProxyMiddleware': 100,
}

然后在middlewares.py文件中定义一个中间件来处理代理:

from scrapy import signals

class ProxyMiddleware(object):
    def process_request(self, request, spider):
        request.meta['proxy'] = spider.settings.get('HTTP_PROXY')

    @classmethod
    def from_crawler(cls, crawler):
        middleware = cls()
        crawler.signals.connect(middleware.spider_opened, signal=signals.spider_opened)
        return middleware

    def spider_opened(self, spider):
        spider.logger.info('Spider opened: %s' % spider.name)

这样,Scrapy在发起请求时会自动使用配置的代理服务器。

0
看了该问题的人还看了