BeautifulSoup查询大数据采集技术与应用59课件讲解.pptxVIP

BeautifulSoup查询大数据采集技术与应用59课件讲解.pptx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

BeautifulSoup查询大数据采集技术与应用

1.掌握BeautifulSoup库中对象查询与定位的具体方法。

BeautifulSoup查询BeautifulSoup提供的常用查询函数如下表所示方法描述find_all()返回所有符合条件的元素find()返回第一个匹配的元素find_parents()/find_parent()返回所有祖先节点/返回直接的父节点find_next_siblings()/find_next_sibling()返回后面所有的兄弟节点/返回后面第一个兄弟节点find_previous_siblings()/find_previous_sibling()返回前面所有的兄弟节点/返回前面第一个兄弟节点find_all_next()/find_next()返回节点后所有符合条件的节点/返回第一个符合条件的节点

BeautifulSoup查询find_all()?是BeautifulSoup库中最核心、最常用的函数之一。它的主要作用是搜索当前文档树或标签下的所有子节点,并找出所有符合过滤条件的标签,最后将它们以列表的形式返回。find_all(name,attrs,recursive,string,limit,**kwargs)参数说明name接收string。表示查找所有名字为name的tag,字符串对象会被自动忽略掉,搜索name参数的值可以使用任一类型的过滤器:字符串、正则表达式、列表、方法或True。无默认值attrs接收string。表示查找符合CSS类名的tag,使用class做参数会导致语法错误,从BeautifulSoup的4.1.1版本开始,可以通过class_参数搜索有指定CSS类名的tag。无默认值recursive接收Built-in。表示是否检索当前tag的所有子孙节点。默认为True,若只想搜索tag的直接子节点,可将该参数设为Falsestring接收string。表示搜索文档中匹配传入的字符串的内容,与name参数的可选值一样,string参数也接收多种过滤器。无默认值**kwargs若一个指定名字的参数不是搜索内置的参数名,搜索时会把该参数当作指定名字tag的属性来搜索

BeautifulSoup查询1、通过find_all查找标签find_all方法是BeautifulSoup的常用方法搜索当前标签的所有子节点,并判断是否符合过滤器的条件。例如,获取所有的li标签,代码如下:print(bs.find_all(name=“li”))或print(bs.find_all(“li”))返回的数据类型为列表,如需要获取指定的列表项目,通过增加索引获取。print(bs.find_all(name=li)[1])liclass=nav-channel-itemnav-channel-item-firstahref=/target=_blank首页/a/li

BeautifulSoup查询2、通过find_all查找属性如果想通过属性来进行查找,可使用键/值对的形式来传递参数。例如查找li标签中属性class为nav-channel-item的第三个li,代码如下print(bs.find_all(class_=nav-channel-item’)[2])这里注意,class_必须带有下划线,因为class是python的语法关键字。如去掉下划线会出现语法错误。

BeautifulSoup查询通过find_all查找文本通过text来查询节点文本,具体代码如下:可以看到代码实现流程如下:1).BeautifulSoup对象实例化;2).调用find_all()方法,传入string参数,返回节点文本列表。此处有两个节点,其内容包含文本信息。在find_all()方法中传入string参数,参数为正则表达式bs=BeautifulSoup(html,‘lxml’)

print(bs.find_all(string=pile(军)))#利用正则表达式Out:[军事,军车]

BeautifulSoup查询Get方法获得属性如果想要获取标签的属性,可以使用“标签[属性]”或“标签.get(属性)”的方式获取属性值。推荐使用“标签.get(属性)”的方式,可有效的进行异常处理。print(bs.li.a.get(href))Out:/

BeautifulSoup查询如果只想得到标签中包含的文本内容,可以使用get_text()方法。这个方法获取标签中的包含的所有文本内容(包括子孙节点的文本内容)并将结

文档评论(0)

一笑倾洁 + 关注
实名认证
文档贡献者

PPT课件

1亿VIP精品文档

相关文档