BeautifulSoup 未找到所有标签

BeautifulSoup is not findign all the tags

我正在学习如何在 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 doesn't find them all

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

您尝试过 Selenium 吗?根据我的经验,与其他网络抓取库相比,Selenium 给我带来的问题更少,并且为我节省了很多时间。但那只是我的个人意见。 :)