漂亮的汤找不到任何类别下的元素

2024-09-30 02:34:37 发布

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

我试图用BeautifulSoup对一个网站的价格进行网上竞价:

容器类如下所示:

enter image description here

下面是我要从该类检索的对象的示例: enter image description here

enter image description here

但是我不知道为什么在包含类c1_t2i下找不到对象。它总是在print(len(containers))中打印一个值0

代码如下:

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))

Tags: 对象fromimportlenasprintsoupc1
1条回答
网友
1楼 · 发布于 2024-09-30 02:34:37

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

但是,我不知道为什么会这样。我用的是chrome。你能用chrome检查一下吗?您还可以打印出解析后的HTML,并搜索文本“c1_t2i”或“^{”,无论哪种文本在那里都是可用的。在

编辑1:

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

编辑2:

您还可以尝试禁用JS并查看出现的页面,然后查看是否可以从基本HTML中选择类名。在

相关问题 更多 >

    热门问题