为了账号安全,请及时绑定邮箱和手机立即绑定

美丽的汤在类下找不到任何元素

美丽的汤在类下找不到任何元素

蝴蝶不菲 2021-09-11 20:37:46
我正在尝试使用 BeautifulSoup 抓取网站的价格:容器类如下所示:我想从该类中检索的对象示例如下所示:但我不知道为什么在包含类下找不到对象c1_t2i。它总是在print(len(containers))代码如下所示:import bs4from urllib.request import urlopen as uReqfrom bs4 import BeautifulSoup as soupmyUrl = "https://www.lazada.com.ph/catalog/?q=lighters&_keyori=ss&from=input&spm=a2o4l.home.search.go.239e6ef0RMwbfH"uClient = uReq(myUrl)pageHtml = uClient.read()uClient.close()pageSoup = soup(pageHtml, "html.parser")containers = pageSoup.findAll("div", {"class": "c1_t2i"})print(len(containers))
查看完整描述

1 回答

?
慕田峪4524236

TA贡献1875条经验 获得超5个赞

如果打开页面,并查看页面源代码。您将无法找到类“ c1_t2i”。您正在寻找的课程似乎是“ c3e8SH”。

但是,我不确定为什么会发生这种情况。我正在使用铬。您可以使用 chrome 并检查一下吗?您还可以打印出已解析的 HTML,然后搜索文本“ c1_t2i”或“ c3e8SH”,以其中可用的为准。

编辑 1:

我想我明白这个问题了。您在检查元素时看到的 HTML 是使用 Javascript 生成的。但是,使用脚本获得的原始 html 中没有相同的类。您需要使用 PhantomJS 之类的东西来执行 JS 并获取生成的 HTML。看看这个线程。

编辑2:

也可以尝试禁用JS,看一下出现的页面,然后看看是否可以从基本的HTML中选择一个类名。


查看完整回答
反对 回复 2021-09-11
  • 1 回答
  • 0 关注
  • 140 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信