python - 如何使用 requests-html 查找亚马逊产品名称?
问题描述
我一直在尝试用 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
字典产品中的方法吗?
解决方案
推荐阅读
- python - 熊猫分层排序
- python - Python Regex:捕获嵌套括号内的所有单词
- java - 如何使用 selenium webdriver (java) 使用 Tor 浏览器?到目前为止,我已经尝试过以下代码,但收到消息:'tor failed to start'
- php - 打印后PHP浮点值更改
- python-3.x - 使用 Miniconda 安装 JupyterLab 的过程
- python - 访问传递给 scrapy 的 URL
- python - 如何使用 QPainter 在 QScrollArea 上画线?
- php - 使用多个 PHP 下拉菜单过滤 MySQL 表
- php - 自动注销用户
- javascript - 之后如何立即引用 useState 设置的值?