博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
基于bs4库的HTML内容查找方法
阅读量:4576 次
发布时间:2019-06-08

本文共 1060 字,大约阅读时间需要 3 分钟。

  1、<>,find_all(name,attrs,recursive,string,**kwargs)

    返回一个列表类型,存储查找的结果

    name:对标签名称的检索字符串。

import requestsfrom bs4 import BeautifulSoupimport re#BeautifulSoup是一个类r = requests.get('http://python123.io/ws/demo.html')print(r.text)demo = r.text#解析demo的解释器soup = BeautifulSoup(demo,'html.parser')soup.find_all('a')soup.find_all(['a','b'])for tag in soup.find_all(True):    print(tag.name)for tag in soup.find_all(re.compile('b')):    print(tag.name)

    attrs:对标签属性值得检索字符串,可标注属性检索。

#承接上面的demosoup.find_all('p','course')soup.find_all(id='link1')#我的demo中不包括linksoup.find_all(id='link')soup.find_all(id=re.compile('link'))

    recursive:是否对子孙全部检索,默认True

#返回的是一个空列表,这意味着是从soup的根节点开始,a标签应该在子孙的后续节点中print(soup.find_all('a',recursive=False))

    string:<>...</>中字符串区域的检索字符串。

print(soup)#必须精确的输入字符串信息print(soup.find_all(string = 'Basic Python'))#如果希望输入一个字符串,检索出更多的信息print(soup.find_all(string = re.compile('python')))

  2、简短表示

    <tag>(..)等价于<tag>.find_all(..)

    soup(..)等价于soup.find_all(..)

  3、七个扩展方法

    

 

转载于:https://www.cnblogs.com/fb1704011013/p/11116814.html

你可能感兴趣的文章
[LeetCode] 65. Valid Number(多个标志位)
查看>>
●BZOJ 4665 小w的喜糖
查看>>
nginx配置location总结及rewrite规则写法【转】
查看>>
DES加密的C语言实现
查看>>
Adobe Dreamweaver CS5.5 中文版 下载 注册码
查看>>
C#中的静态常量(const)和动态常量(static和readonly)用法和区别
查看>>
xshell连接virtualbox下的linux系统
查看>>
【EF】EF扩展库(批量操作)
查看>>
向后兼容,向前兼容
查看>>
C++ activemq CMS 学习笔记
查看>>
Linux tcpdump命令详解
查看>>
移动端标签
查看>>
移动端开发的一些技巧总结(1)
查看>>
dubbo 面试题
查看>>
android应用proguard混淆打包
查看>>
Laravel Create Facade
查看>>
【iOS系列】-UIButton的非常规使用
查看>>
理解PHP面向对象三大特性
查看>>
json学习系列(6)JSONObject和JSONArray是JDK的集合部分延伸
查看>>
TPS和QPS的区别
查看>>