我一直在尝试用python编写一个程序,可以在第一页返回所有产品名称的列表。我有一个函数,可以根据您要搜索的内容获取URL:
def get_url(search_term):
template = 'https://www.amazon.com/s?k={}&ref=nb_sb_noss_1'
search_term = search_term.replace(' ', '+')
url = template.format(search_term)
print(url)
return URL
然后我将URL传递到另一个函数中,这里是我需要帮助的地方。现在,我检索标题和评论数量的功能如下:
def getInfo(url):
r = HTMLSession().get(url)
r.html.render()
product = {
'title': r.html.find('.a-size-medium' '.a-color-base' '.a-text-normal', first=True).text,
'reviews': r.html.find('.a-size-base', first=True).text
}
print(product)
但是,r.html.find
部分没有获得我需要的信息,它要么返回[]
,要么如果我添加first=True,则返回None。我尝试了不同的方法,比如使用XPath和选择器。这些似乎都不起作用。有人能帮助找到一种方法,使用html.find
方法查找所有产品名称,并将它们保存在产品字典中的title
中吗
目前没有回答
相关问题 更多 >
编程相关推荐