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

我正在尝试使用 BeautifulSoup 抓取网站的价格:

容器类如下所示:

http://img3.mukewang.com/613ca32e0001f7d314370619.jpg

我想从该类中检索的对象示例如下所示:

http://img.mukewang.com/613ca33f0001828d14350618.jpg

http://img.mukewang.com/613ca3480001f2e414370617.jpg

但我不知道为什么在包含类下找不到对象c1_t2i。它总是在print(len(containers))


代码如下所示:


import bs4

from urllib.request import urlopen as uReq

from bs4 import BeautifulSoup as soup


myUrl = "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))


蝴蝶不菲
浏览 141回答 1
1回答

慕田峪4524236

如果打开页面,并查看页面源代码。您将无法找到类“ c1_t2i”。您正在寻找的课程似乎是“ c3e8SH”。但是,我不确定为什么会发生这种情况。我正在使用铬。您可以使用 chrome 并检查一下吗?您还可以打印出已解析的 HTML,然后搜索文本“ c1_t2i”或“ c3e8SH”,以其中可用的为准。编辑 1:我想我明白这个问题了。您在检查元素时看到的 HTML 是使用 Javascript 生成的。但是,使用脚本获得的原始 html 中没有相同的类。您需要使用 PhantomJS 之类的东西来执行 JS 并获取生成的 HTML。看看这个线程。编辑2:也可以尝试禁用JS,看一下出现的页面,然后看看是否可以从基本的HTML中选择一个类名。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python