python爬虫-Beautiful Soup学习笔记
来源:互联网 发布:mysql insert select 编辑:程序博客网 时间:2024/05/29 12:41
Beautiful Soup可以从HTML或XML文件中提取数据,是一个解析、遍历、维护“标签树”的库。
① 安装
win10平台,以管理员身份运行cmd,执行
pip install beautifulsoup4
如果同时安装了python2和python3,分别修改python.exe名字为python2.exe和python3.exe,然后分别重新安装pip,再使用pip2或pip3即可。
② 官方文档
官方文档
③ 导入库
from bs4 import BeautifulSoup
④ 选择解释器
传入一个 html 文档,soup是获得文档的对象。然后,文档被转换成 Unicode ,并且 HTML 的实例都被转换成 Unicode 编码。然后,Beautiful Soup 选择最合适的解析器来解析这段文档,如果手动指定解析器那么 Beautiful Soup 会选择指定的解析器来解析文档。
⑤ 基本元素种类
Beautiful Soup 将复杂 HTML 文档转换成一个复杂的树形结构,每个节点都是 Python 对象。
也有的认为name和attributes不作为基本元素,然后将BeautifulSoup单独列出来,表示一个文档的全部内容。
举例:
from bs4 import BeautifulSouphtml = """<html><head><title>This is a demo </title></head><body><p class="title"><b>The demo's story.</b></p><p class="course">This is my blog.<a href="http://blog.csdn.net/zhangffyy" class="py1" id="link1"><!-- Comment --></a>.</p></body></html>"""soup = BeautifulSoup(html,"html.parser") print(soup.title) #tag标签tag = soup.pprint(tag.name) #tag的nameprint(tag.attrs) #tag的attrsprint(tag.string) #tag的内容print(soup.a.string) #注释
输出结果:
<title>This is a demo </title>p{'class': ['title']}The demo's story. Comment
⑥ 搜索标签树
(1)find_all( name , attrs , recursive , text , **kwargs )
find_all() 方法搜索当前tag的所有tag子节点,并判断是否符合过滤器的条件。
(2)find( name , attrs , recursive , text , **kwargs )
与 find_all() 方法的区别是 find_all() 方法的返回结果是包含一个元素的列表,而 find() 方法直接返回结果。
⑦ 遍历标签树
推荐网站:
静觅 » Python爬虫利器二之Beautiful Soup的用法
MoocBit
阅读全文
0 0
- python爬虫-Beautiful Soup学习笔记
- Python的Beautiful Soup学习笔记
- Python爬虫利器Beautiful Soup
- python爬虫利器--beautiful Soup
- Beautiful Soup-学习笔记
- Python爬虫学习二——Beautiful Soup库
- Python爬虫入门-Beautiful Soup的用法
- Python爬虫利器Beautiful Soup的用法
- python 网络爬虫 Beautiful Soup用法
- Python Beautiful Soup+requests实现爬虫
- 六.Python爬虫Beautiful Soup的用法
- 【Python】【爬虫】关于Beautiful Soup库
- 【python学习笔记】10:Beautiful Soup模块的使用
- 爬虫:Beautiful Soup
- Beautiful Soup写爬虫
- 爬虫---Beautiful Soup库
- 爬虫 Python爬虫利器二之Beautiful Soup的用法
- python——爬虫学习——Beautiful Soup库的使用-(2)
- Android数据存储之文件File
- 【Android】性能测试之获取Android流量数据
- SpringMVC文件上传
- MySQL hint
- 消息代理RabbitMQ——实施篇
- python爬虫-Beautiful Soup学习笔记
- [LeetCode] 22. Generate Parentheses
- 125. Valid Palindrome
- Ajax初步认识:
- 用JMX远程监控Tomcat
- 鼠标移入事件 动态元素 事件委托 鼠标移入移出 弹出对话框事件
- java 读取项目properties文件
- JavaScript 高级函数实现AOP
- Javascript中的Duck Typing