爬虫项目(1)

1.节点

想要获取网页中的数据,首先要获取网页 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.找到对应节点处的内容

文本所在的位置,包含在<em>XXX</em>这样的节点中,它们都有相同的标签。

使用 BeautifulSoup 中的 find_all() 函数,获取所有符合指定条件的节点。

复制代码
ps = soup.find_all(name = "h1")
print(ps)

find_all() 函数可以查询 soup 中所有符合条件的元素,组成一个列表赋值给ps。

8.代码的完整实现

复制代码
import requests

from bs4 import BeautifulSoup

url = "https://xxxxxxxxxxxxxxxxx/"

response = requests.get(url)

html = response.text

soup = BeautifulSoup(html,"lxml")

content_all = soup.find_all(name="em")

print(content_all)
相关推荐
普郎特2 小时前
大白话帮你彻底理解 aiohttp 的 ClientSession 与 ClientResponse 对象
爬虫·python
马哥python说4 小时前
【效率软件】抖音转换工具:主页链接和抖音号一键批量互转
爬虫·python
XiaoLeisj6 小时前
【智能协同云图库】智能协同云图库第七弹:基于 Jsoup 爬虫实现以图搜图、颜色搜图、批量操作
spring boot·爬虫·servlet·java-ee·mybatis·门面模式·jsoup
小白学大数据2 天前
基于Python的新闻爬虫:实时追踪行业动态
开发语言·爬虫·python
小白iP代理2 天前
动态IP+AI反侦测:新一代爬虫如何绕过生物行为验证?
人工智能·爬虫·tcp/ip
叫我:松哥3 天前
基于网络爬虫的在线医疗咨询数据爬取与医疗服务分析系统,技术采用django+朴素贝叶斯算法+boostrap+echart可视化
人工智能·爬虫·python·算法·django·数据可视化·朴素贝叶斯
bksheng3 天前
【SSL证书校验问题】通过 monkey-patch 关掉 SSL 证书校验
网络·爬虫·python·网络协议·ssl
叫我:松哥3 天前
优秀案例:基于python django的智能家居销售数据采集和分析系统设计与实现,使用混合推荐算法和LSTM算法情感分析
爬虫·python·算法·django·lstm·智能家居·推荐算法
xnglan3 天前
使用爬虫获取游戏的iframe地址
开发语言·爬虫·python·学习
荼蘼4 天前
python爬虫实战-小案例:爬取苏宁易购的好评
开发语言·爬虫·python