BeatiFulsGroup和返回“无”的请求

2024-06-28 14:37:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我对bs4和请求都是新手,我正试图向亚马逊索要一些随机产品的价格(在本例中是eco dot 3)。我不明白为什么我的网络刮板在运行时总是返回“无”。显然,我正在寻找的元素是存在的,但当我尝试使用find函数时,它仍然不起作用。 我不知道这是否有帮助,但以下是我遵循的教程: https://www.youtube.com/watch?v=Bg9r_yLk7VY&t=594sThank非常感谢!这是我的代码

from bs4 import BeautifulSoup


URL = 'https://www.amazon.de/dp/B07NQCVHQ6/ref=gw_de_desk_h1_aucc_db_dbckpscs_qh_0520_v1_t1?pf_rd_r=WY9A7Y14N1T2NGG5KT9S&pf_rd_p=56ce1aab-22bc-4377-bb24-b13391bb0efd'
headers = {"User-Agent": 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36'}

page = requests.get(URL, headers=headers)

soup = BeautifulSoup(page.content, 'html.parser')

price = soup.find(id="priceblock_ourprice")
print(price)

我不知道这是否有帮助,但以下是我遵循的教程: https://www.youtube.com/watch?v=Bg9r_yLk7VY&t=594s


Tags: httpscomurlyoutubewwwde教程find
1条回答
网友
1楼 · 发布于 2024-06-28 14:37:45

你需要做一些简单的改变 只要改变这个:

soup = BeautifulSoup(page.content, 'html.parser')

soup = BeautifulSoup(page.content, 'lxml')

输出:

<span class="a-size-medium a-color-price priceBlockBuyingPriceString" id="priceblock_ourprice">48,73 ?</span>

以及:

print(price.text)

我只会给你价格

关于解析器之间的区别,您可以在官方页面上阅读---https://www.crummy.com/software/BeautifulSoup/bs4/doc/#differences-between-parsers

或者在这个问题上,有一个解释-Beautiful Soup and Table Scraping - lxml vs html parser

相关问题 更多 >