我是新手bs4和请求,我试图在网上抓取亚马逊的一些随机产品的价格(在这种情况下是一个生态点3)。我不明白为什么我的网络刮板总是返回“无”,当我运行它。显然,我正在寻找的元素是存在的,但当我尝试使用find函数时,它仍然不起作用。我不知道它是否有帮助,但这是我正在遵循的教程:https://www.youtube.com/watch?v=Bg9r_yLk7VY&t=594sThank you very very!下面是我的代码
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
发布于 2020-07-14 11:28:13
您需要做一些简单的更改,只需更改以下内容:
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
https://stackoverflow.com/questions/62893901
复制相似问题