BeautifulSoup findAll() 没有找到全部,无论我使用哪个解析器
BeautifulSoup findAll() not finding all, regardless of which parser I use
所以我通读了我能找到的关于 findAll() 不工作的所有问题,答案似乎总是与特定的 html 解析器有关。我有 运行 以下代码使用默认值 'html.parser' 以及 'lxml' 和 'html5lib' 但是当我应该找到 14.
时我只能找到一个实例
import bs4
from urllib.request import urlopen as uReq
from bs4 import BeautifulSoup as soup
my_url = 'https://robertsspaceindustries.com/pledge/ships'
uClient = uReq(my_url)
page_html = uClient.read()
uClient.close()
page_soup = soup(page_html, features = "lxml")
containers = page_soup.findAll("ul", {"class":"ships-listing"})
len(containers)
我尝试张贴 HTML 代码的图片,但我没有足够的声誉。这是图像的 link (https://imgur.com/a/cOLO8GO)。
当您通过 urllib
(或 requests
HTTP 库)下载页面时,它会下载原始 HTML 源文件。
最初只有 class 名称 'ships-listing' 的单一标签,因为该标签随源页面一起提供。但是一旦向下滚动,页面会生成额外的 <ul class='ships-listing'>
,这些元素是由 JavaScript.
生成的
因此,当您使用urllib
下载页面时,下载的内容仅包含原始源页面(您可以通过浏览器中的查看源选项查看)。
所以我通读了我能找到的关于 findAll() 不工作的所有问题,答案似乎总是与特定的 html 解析器有关。我有 运行 以下代码使用默认值 'html.parser' 以及 'lxml' 和 'html5lib' 但是当我应该找到 14.
时我只能找到一个实例import bs4
from urllib.request import urlopen as uReq
from bs4 import BeautifulSoup as soup
my_url = 'https://robertsspaceindustries.com/pledge/ships'
uClient = uReq(my_url)
page_html = uClient.read()
uClient.close()
page_soup = soup(page_html, features = "lxml")
containers = page_soup.findAll("ul", {"class":"ships-listing"})
len(containers)
我尝试张贴 HTML 代码的图片,但我没有足够的声誉。这是图像的 link (https://imgur.com/a/cOLO8GO)。
当您通过 urllib
(或 requests
HTTP 库)下载页面时,它会下载原始 HTML 源文件。
最初只有 class 名称 'ships-listing' 的单一标签,因为该标签随源页面一起提供。但是一旦向下滚动,页面会生成额外的 <ul class='ships-listing'>
,这些元素是由 JavaScript.
因此,当您使用urllib
下载页面时,下载的内容仅包含原始源页面(您可以通过浏览器中的查看源选项查看)。