【Python】【爬虫】关于Beautiful Soup库
来源:互联网 发布:淘宝条码扫描 编辑:程序博客网 时间:2024/05/15 08:09
from bs4 import BeautifulSoup
import bs4
2、简单讲,BeautifulSoup对应着一个HTML/XML文档的全部内容。
BeautifulSoup的基本元素有Tag、Name(格式:tag.name,标签的名字)、Attributes(格式:tag.attrs,常常是以字典形式组织的,相关内容不会在网页上显示出来)、NavigableString(格式:tag.string,标签内非属性字符串,<>…</>中字符串,相关内容会在网页上显示出来)、Comment(标签内字符串的注释部分,也是用tag.string提取出来)。
from bs4 import BeautifulSoup import requests url = "https://python123.io/ws/demo.html"r = requests.get(url)demo = r.textsoup = BeautifulSoup(demo, "html.parser")soup.aOut[5]:<a class="py1" href="http://www.icourse163.org/course/BIT-268001" id="link1">Basic Python</a>soup.pOut[6]:<p class="title"><b>The demo python introduces several python courses.</b></p>
可以直接使用soup.tagname 返回想要的:比如soup.a soup.p,如果有多个标签,则返回第一个。
3、下行遍历:
.contents 子节点的列表,将<tag>所有儿子节点存入列表;
.children 子节点的迭代类型,与.contents类似,用于循环遍历儿子节点;
.descendants 子孙节点的迭代类型,包含所有子孙节点,用于循环遍历。
4、上行遍历:
.parent 节点的父亲标签;
.parents 节点先辈标签的迭代类型,用于循环遍历先辈节点。
5、同辈遍历:
.next_sibling 返回按照HTML文本顺序的下一个平行节点标签;
.previous_sibling 返回按照HTML文本顺序的上一个平行节点标签;
.next_siblings 迭代类型,返回按照HTML文本顺序的后续所有平行节点标签;
.previous_siblings 迭代类型,返回按照HTML文本顺序的前续所有平行节点标签。
6、prettify
.prettify()为HTML文本<>及其内容增加更加'\n'
.prettify()可用于标签,方法:<tag>.prettify(),这样可以方便地显示出来、有树形结构的东西。
7、XML:同HTML
JSON:有类型键值对
YAML:无类型键值对,用缩进来组织并列递进关系
8、爬虫提取信息的方式有两种:基于标签树组织结构的;基于文本搜索查找的
9、soup.find_all()函数:
<>.find_all(name, attrs, recursive, string, **kwargs)
其中name是对标签名称的检索字符串;attrs是对标签属性值的检索字符串,可标注属性检索;recursive: 是否对子孙全部检索,默认True;
string: <>…</>中字符串区域的检索字符串
10、衍生的find函数:
<>.find() 搜索且只返回一个结果,同.find_all()参数
<>.find_parents() 在先辈节点中搜索,返回列表类型,同.find_all()参数
<>.find_parent() 在先辈节点中返回一个结果,同.find()参数
<>.find_next_siblings() 在后续平行节点中搜索,返回列表类型,同.find_all()参数
<>.find_next_sibling() 在后续平行节点中返回一个结果,同.find()参数
<>.find_previous_siblings() 在前序平行节点中搜索,返回列表类型,同.find_all()参数
<>.find_previous_sibling() 在前序平行节点中返回一个结果,同.find()参数
- 【Python】【爬虫】关于Beautiful Soup库
- 爬虫---Beautiful Soup库
- Python爬虫利器Beautiful Soup
- python爬虫利器--beautiful Soup
- python爬虫入门--Beautiful Soup库介绍及实例
- Python爬虫学习二——Beautiful Soup库
- Python爬虫之Beautiful Soup库的安装与使用
- Python网络爬虫——Beautiful Soup库
- Python网络爬虫与信息提取-Day6-Beautiful Soup库
- python网络爬虫基础(2)--Beautiful Soup库
- Python爬虫入门-Beautiful Soup的用法
- Python爬虫利器Beautiful Soup的用法
- python 网络爬虫 Beautiful Soup用法
- Python Beautiful Soup+requests实现爬虫
- 六.Python爬虫Beautiful Soup的用法
- python爬虫-Beautiful Soup学习笔记
- Python Beautiful Soup库详解
- 爬虫:Beautiful Soup
- simulink电力系统仿真_matlab2015a
- iOS--如何限制textField输入时小数点后需要的个数
- 《新一代视频压缩编码标准H.264》
- render_to_response()改进HttPResponse
- 第三章:删除项目
- 【Python】【爬虫】关于Beautiful Soup库
- 工作中oracle数据库笔记
- 1074. 宇宙无敌加法器(20)
- WebAPI序列化后,属性被自动加k__BackingField的问题
- 10分钟适配 iOS 11 & iPhone X
- 关于python的基础知识10--数据分析和数值计算
- Spring boot freemarker模板路径的几种设置方式
- Android Studio JNI学习之(4)-日志框架
- unity中mathf.Lerp的运用