首页 文章

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

提问于
浏览 1636
0

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

容器类如下所示:

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

但我不知道为什么在包含类 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))

1 回答

  • 2

    如果您打开页面,并查看页面源 . 您将无法找到“ c1_t2i ". The class you are looking for seems to be " c3e8SH ”类 .

    但是,我不确定为什么会这样 . 我正在使用铬 . 你可以使用铬并检查吗?您还可以打印出已解析的HTML,并搜索文本“ c1_t2i " or " c3e8SH ”,无论哪个可用 .

    EDIT 1:

    我想我理解这个问题 . 使用Javascript生成检查元素时看到的HTML . 但是,使用该脚本获得的原始html中没有相同的类 . 您需要使用像PhantomJS这样的东西来执行JS并获得生成的HTML . 查看this主题 .

    EDIT 2:

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

相关问题