Я новичок в scrapy, поэтому, пожалуйста, будьте добры :))
Итак, я собираюсь скопировать некоторые JSON файлы из devtools-Network с нескольких страниц с помощью scrapy. Однако каждая страница имеет разные заголовки. Как я могу решить это
Позволяет использовать это
import scrapy
import json
import scrapy
import json
class QuoteSpider(scrapy.Spider):
name = 'quote'
allowed_domains = ['shopee.co.id']
page = 1
start_urls = ['https://shopee.co.id/api/v2/search_items/?by=relevancy&keyword=deodorant&limit=50&newest=0&order=desc&page_type=search&version=2']
def parse(self, response):
data = json.loads(response.text)
for quote in data["quotes"]:
yield {"quote": quote["text"]}
if data["has_next"]:
self.page += 1
url = "https://shopee.co.id/api/v2/search_items/?by=relevancy&keyword=deodorant&limit=50&newest="+str(self.page)+"&order=desc&page_type=search&version=2"
headers = {
'accept' : '*/*'
,'accept-encoding': 'gzip, deflate, br'
,'accept-language': 'en-US,en;q=0.9'
,'if-none-match-' : '55b03-ba4b020f9bad34856fc4771b0aaedc93'
,'referer' : 'https://shopee.co.id/search?keyword=deodorant&page='+str(self.page)
,'sec-fetch-dest' : 'empty'
,'sec-fetch-mode' : 'cors'
,'sec-fetch-site' : 'same-origin'
,'user-agent' : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.113 Safari/537.36'
,'x-api-source' : 'pc'
,'x-requested-with': 'XMLHttpRequest'
}
yield scrapy.Request(url=url, callback=self.parse, method='GET', headers=headers)
Как мне добавить уникальные заголовки для каждой страницы, например,
header = {
'referer': 'some_reference_pagenumber',
}
Я попробовал скрипт и пытался повозиться с ним, но это всегда приводило к referer:none
в оболочке, таким образом, не в состоянии очистить
Большое спасибо!