BeautifulSoup并没有找到所有的标签



我正在学习如何在python 3.8中使用BeautifulSoup刮网,遇到了一个无法找到解决方案的问题。

我正试图从这个页面获取每种产品的品牌:

https://www.linio.com.mx/c/computacion/pc-portatil

有68款产品,我只得到了60款,我确信我的剧本没有抓住第一款和最后一款产品,分别是华硕A540和联想Ideapad L340。

这是我的脚本

from urllib.request import urlopen
from bs4 import BeautifulSoup as soup

my_url = 'https://www.linio.com.mx/c/computacion/pc-portatil'

uClient = urlopen(my_url)
page_html = uClient.read()
uClient.close()

soup_page = soup(page_html, 'html.parser')
containers = soup_page.find(id="catalogue-product-container").findAll(True, recursive=False)

for container in containers:

try:
print(container.a.find(itemprop="brand")["content"])
except TypeError:
pass

在我看来,HTML解析器并不完美,有些人也面临着与您类似的问题-Beautiful Soup findAll';我找不到所有的。

我运行了你的代码,却遇到了同样的问题。错误已经发生在"find"one_answers"findAll"方法中——根据第一页,似乎由于某种未知原因,只有赞助的产品没有被提取

你试过硒吗?根据我的经验,与其他网络抓取库相比,Selenium给我带来的问题更少,也节省了我很多时间。但这只是我的看法

相关内容

  • 没有找到相关文章

最新更新