在Scrapy中,您可以通过在请求中设置headers
属性来添加自定义请求头。以下是一个简单的示例:
首先,确保您已经安装了Scrapy并创建了一个新的Scrapy项目。然后,在您想要发送带有自定义请求头的请求的Spider文件中,找到或创建一个方法(例如start_requests
),并在该方法中设置请求头。
以下是一个示例Spider,它在发送请求时添加了自定义的User-Agent
和Authorization
请求头:
import scrapy
class MySpider(scrapy.Spider):
name = 'myspider'
start_urls = ['https://example.com']
def start_requests(self):
for url in self.start_urls:
yield scrapy.Request(url, headers={
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3',
'Authorization': 'Bearer your_api_token_here',
})
def parse(self, response):
# 在这里处理响应
pass
在这个示例中,我们首先导入了scrapy
模块,然后创建了一个名为MySpider
的Spider类。我们设置了start_urls
属性,以便从给定的URL开始抓取。
在start_requests
方法中,我们遍历start_urls
列表,并为每个URL创建一个scrapy.Request
对象。我们通过设置headers
参数来添加自定义请求头。在这个例子中,我们添加了User-Agent
和Authorization
请求头。
最后,我们定义了一个名为parse
的方法来处理响应。在这个方法中,您可以编写处理网页内容的代码。