【发布时间】:2021-10-30 02:48:53
【问题描述】:
我在抓取amazon.de 期间观察到以下问题。
在收集过程中,它(amazon)根据当前(脚本)位置显示信息,因此有些项目不可用,其他价格与原价不同。
我有以下scrapy 代码,用于更改位置和抓取数据:
class AmazonSpider(BaseSpider):
name = 'amazon'
allowed_domains = ['www.amazon.de']
start_urls = ['https://www.amazon.de/']
def parse(self, response):
data = {
'locationType': 'LOCATION_INPUT',
'zipCode': '10115',
'storeContext': 'drugstore',
'deviceType': 'web',
'pageType': 'Detail',
'actionSource': 'glow',
'almBrandId': 'undefined'
}
yield scrapy.FormRequest(
url='https://www.amazon.de/gp/delivery/ajax/address-change.html',
formdata=data,
callback=self.parse_pages
)
def parse_pages(self, response):
url = 'https://www.amazon.de/-/en/Filter-Computer-Glasses-Headache-Vintage/dp/B091FYYDXB/ref=sr_1_95?dchild=1&keywords=kopfschmerzen&qid=1630410090&s=drugstore&sr=1-95'
yield response.follow(
url=url,
dont_filter=True,
callback=self.parse_product
)
但即使我们执行位置更改调用address-change 它仍然显示错误信息,对于当前位置。
你能帮忙吗?看起来我缺少一些参数或其他东西
【问题讨论】:
标签: python python-3.x scrapy amazon