我试图让我的网络抓取工具在实际抓取网站之前先经过几个链接,但我似乎找不到如何使它工作的方法。
我要抓取的网站是亚马逊。
假设我从https://www.amazon.com/开始(那是我的“ start_url”)。 到这里后,我想在亚马逊搜索栏中搜索某些内容,例如“笔记本电脑”,然后进行搜索。
这怎么办?如果我强制使用起始网址,则可以提取数据(例如,用于搜索笔记本电脑的网址:https://www.amazon.com/s/ref=nb_sb_noss?url=search-alias%3Daps&field-keywords=Laptop) 但我似乎无法从亚马逊首页开始获取该URL。
答案 0 :(得分:1)
如果您有多个搜索请求,则最好以其他方式调用它们:
search_url = 'https://www.amazon.com/s?field-keywords={}'
def start_requests(self):
keywords = ['laptop', 'something other']
for keyword in keywords:
yield Request(self.search_url.format(keyword))
def parse(self, response)
# parse your pages here