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 给我带来的问题更少,并且为我节省了很多时间。但那只是我的个人意见。 :)
我正在学习如何在 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 给我带来的问题更少,并且为我节省了很多时间。但那只是我的个人意见。 :)