东莞网站设计公司排名,沈阳网站建设tlmh,催眠物语wordpress,厦门市建设局网站住房保障20181.节点
想要获取网页中的数据#xff0c;首先要获取网页 HTML 代码#xff0c;再把数据从中提取出来。 我们要向网页的服务器发送请求#xff0c;服务器返回的响应就是网页 HTML 代码
节点
#xff08;1#xff09;文档节点#xff1a;就是文档的内容#xff1b;
首先要获取网页 HTML 代码再把数据从中提取出来。 我们要向网页的服务器发送请求服务器返回的响应就是网页 HTML 代码
节点
1文档节点就是文档的内容
2标签节点就是html里面对应的标签
3属性节点就是html里面标签的属性比如长度外边距内边距等等
2.解析模块
对于一个网页的节点来说它可以定义id、class或其他属性而且节点之间还有层级关系。 我们可以借助网页节点的结构和属性提取想要的信息。在这里我们来学习一个强大的解析工具
——BeautifulSoup
3.解析器
网络爬虫的最终目的就是过滤选取网络信息最重要的部分可以说是解析器。解析器的优劣决定了爬虫的速度和效率。 Beautiful Soup 官方推荐我们使用的是 lxml 解析器原因是它具有更高的效率所以我们也将采用lxml解析器。
5.导入类
安装完成后我们需要使用 bs4 模块中的 BeautifulSoup 类。 这就要使用 from...import 从 bs4 中导入 BeautifulSoup 。
6.函数传参
BeautifulSoup() 函数可以把不标准的 HTML 代码重新进行了自动更正从而方便我们对其中的节点、标签、属性等进行操作。
soup BeautifulSoup(html, lxml)
print(soup)这段代码调用函数BeautifulSoup,
这个函数有2个参数第一个是需要进行解析的html代码第二个是解析器的类型
使用 BeautifulSoup() 函数创建一个 BeautifulSoup 对象传入 HTML 文本和解析器 lxml。
7.找到对应节点处的内容
文本所在的位置包含在emXXX/em这样的节点中它们都有相同的标签。
使用 BeautifulSoup 中的 find_all() 函数获取所有符合指定条件的节点。
ps soup.find_all(name h1)
print(ps)
find_all() 函数可以查询 soup 中所有符合条件的元素组成一个列表赋值给ps。
8.代码的完整实现
import requestsfrom bs4 import BeautifulSoupurl https://xxxxxxxxxxxxxxxxx/response requests.get(url)html response.textsoup BeautifulSoup(html,lxml)content_all soup.find_all(nameem)print(content_all)