python - 使用 Scrapy Spider 发送请求标头以避免 403 响应状态
问题描述
我正在向网站发出请求,但我收到了403
回复。我们如何使用 scrapy 蜘蛛发送请求标头以便我们能够得到200
响应?
此外,网站会使用新请求更新 cookie。当我们发出新请求时,是否可以使用爬虫来旋转 cookie?
# -*- coding': 'utf-8 -*-
import scrapy
class MainSpider(scrapy.Spider):
name = 'main'
allowed_domains = ['11880.com']
start_urls = ['https://www.11880.com/suche/makler/deutschland']
def parse(self, response):
print(response.body)
希望得到一些答案。
问候
解决方案
覆盖start_requests()
方法并传递headers
参数。
import scrapy
class MainSpider(scrapy.Spider):
name = 'main'
allowed_domains = ['11880.com']
start_urls = ['https://www.11880.com/suche/makler/deutschland']
headers = {
'header1': 'value1',
'header2': 'value2'
}
def start_requests(self):
for url in self.start_urls:
yield scrapy.Request(url=url, callback=self.parse, headers=self.headers)
def parse(self, response):
print(response.body)
推荐阅读
- ruby-on-rails - 将设计添加到 Rails 应用程序 NoMethodError:未定义的方法 `devise' 为用户(调用 'User.connection' 建立连接
- html - 需要进行更正,但我不明白如何做上述指示
- mysql - 如何使用 Homebrew 在 macOS BigSur (Apple Silicon) 上安装和启动 MySQL 5.7?
- javascript - 将数组值添加为 Javascript 对象属性
- geolocation - 如何解决华为设备上的应用程序位置权限错误?
- google-apps-script - G 表:根据列值对行进行分组/分隔,使用值或条件边框格式添加行
- ios - 如何正确地将这个经典的 Swift 系列更新为更新的 Swift(与 Xcode 12 和 iOS 14 兼容)?
- javascript - Javascript - 不推荐使用事件 - 在页面上显示双倍
- swiftui - 来自 URL 的 WidgetKit 图像
- c++ - QML:带有“自带组件”的 C++ 类