首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >BeatifulSoup和请求返回"None“

BeatifulSoup和请求返回"None“
EN

Stack Overflow用户
提问于 2020-07-14 11:15:00
回答 1查看 141关注 0票数 1

我是新手bs4和请求,我试图在网上抓取亚马逊的一些随机产品的价格(在这种情况下是一个生态点3)。我不明白为什么我的网络刮板总是返回“无”,当我运行它。显然,我正在寻找的元素是存在的,但当我尝试使用find函数时,它仍然不起作用。我不知道它是否有帮助,但这是我正在遵循的教程:https://www.youtube.com/watch?v=Bg9r_yLk7VY&t=594sThank you very very!下面是我的代码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-14 11:28:13

您需要做一些简单的更改,只需更改以下内容:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
soup = BeautifulSoup(page.content, 'html.parser')

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
soup = BeautifulSoup(page.content, 'lxml')

输出:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<span class="a-size-medium a-color-price priceBlockBuyingPriceString" id="priceblock_ourprice">48,73 ?</span>

和:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
print(price.text)

只会给你价格

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

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62893901

复制
相关文章

相似问题

添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文