BeautifulSoup – 只爬取文件的部分内容

BeautifulSoup 教程, 有多种情况下,你想使用Beautifulsoup4提取特定类型的信息(只有<a>标签)。Beautifulsoup中的SoupStrainer类允许你只解析传入文档的特定部分。

一种方法是创建一个SoupStrainer,并将其作为parse_only参数传递给Beautifulsoup4构造函数.

SoupStrainer

SoupStrainer告诉BeautifulSoup提取哪些部分,而解析树只由这些元素组成。如果你把你所需要的信息缩小到HTML的特定部分,这将加速你的搜索结果.

product = SoupStrainer('div',{'id': 'products_list'})
soup = BeautifulSoup(html,parse_only=product)

以上几行代码将只解析产品网站的标题,这些标题可能在一个标签字段内.

同样,像上面一样,我们可以使用其他soupStrainer对象,从HTML标签中解析特定信息。下面是一些例子 −

from bs4 import BeautifulSoup, SoupStrainer

#Only "a" tags
only_a_tags = SoupStrainer("a")

#Will parse only the below mentioned "ids".
parse_only = SoupStrainer(id=["first", "third", "my_unique_id"])
soup = BeautifulSoup(my_document, "html.parser", parse_only=parse_only)

#parse only where string length is less than 10
def is_short_string(string):
   return len(string) < 10

only_short_strings =SoupStrainer(string=is_short_string)
赞(0)
未经允许不得转载:极客笔记 » BeautifulSoup – 只爬取文件的部分内容

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址