BeautifulSoup:仅从特定 class 获取通用标签
BeautifulSoup: Get generic tags from a specific class only
当我像这样使用 beautifulsoup 时,我从 HTML 文件中获取了我想要的所有文本:
category = soup.find_all("ol", {"class":"breadcrumb"})
catname = BeautifulSoup(str(category).strip()).get_text().encode("utf-8")
输出:
Home
Digital Goods
E-Books
但是我想跳过第一类,即 'Home'。我知道我可以简单地用“”替换那个词,但我的问题实际上是关于我如何获得 beautifulsoup 以获得非常具体的标签 在我上面挑出的位置 .
HTML 代码如下所示:
<ol class="breadcrumb">
<li><a href="http://fakeshop.com">Home</a></li>
<li><a href="http://fakeshop.com/category/51">Digital Goods</a></li>
<li><a href="http://fakeshop.com/category/98">E-Books</a></li>
</ol>
我能做些什么来从这个 'breadcrumb' 部分获取第二个和第三个 'li' 标签,而不是文件中的其他标签?
示例(不起作用但说明了我正在寻找的内容):
category = soup.find_all("ol", {"class":"breadcrumb"}), find_all("li")[1:]
这个怎么样:
category = soup.find("ol", {"class":"breadcrumb"}).findAll('li')[1:]
catname = BeautifulSoup(str(category).strip()).get_text().encode("utf-8")
?
我的输出是:
[Digital Goods, E-Books]
当我像这样使用 beautifulsoup 时,我从 HTML 文件中获取了我想要的所有文本:
category = soup.find_all("ol", {"class":"breadcrumb"})
catname = BeautifulSoup(str(category).strip()).get_text().encode("utf-8")
输出:
Home
Digital Goods
E-Books
但是我想跳过第一类,即 'Home'。我知道我可以简单地用“”替换那个词,但我的问题实际上是关于我如何获得 beautifulsoup 以获得非常具体的标签 在我上面挑出的位置 .
HTML 代码如下所示:
<ol class="breadcrumb">
<li><a href="http://fakeshop.com">Home</a></li>
<li><a href="http://fakeshop.com/category/51">Digital Goods</a></li>
<li><a href="http://fakeshop.com/category/98">E-Books</a></li>
</ol>
我能做些什么来从这个 'breadcrumb' 部分获取第二个和第三个 'li' 标签,而不是文件中的其他标签?
示例(不起作用但说明了我正在寻找的内容):
category = soup.find_all("ol", {"class":"breadcrumb"}), find_all("li")[1:]
这个怎么样:
category = soup.find("ol", {"class":"breadcrumb"}).findAll('li')[1:]
catname = BeautifulSoup(str(category).strip()).get_text().encode("utf-8")
?
我的输出是:
[Digital Goods, E-Books]