am928 发表于 2025-3-20 10:50:21

Python爬虫入门教程:从零开始学习网络数据抓取与保存技巧

爬虫教程:教你如何爬取网页数据

在当今的文化环境下,互联网上存在着众多有益的信息。若要获取大量有用的数据,我们只需具备一定的技术工具并进行仔细的观察。而网络爬虫便是其中的“技术手段”。今日将为大家分享一些关于爬虫的基础知识。

爬虫是什么?

爬虫是一种能够自动收集网络资料的程序。像百度等搜索引擎就是示例,它们每天都会运行大量的爬虫系统,从世界各地的网站收集数据,以便消费者能够访问这些数据。

爬取方式

复制网页请求。 启动一个假浏览器并导航到所需的网站。

数据检索。 我们打开后就可以自动获取到我们需要的网页数据。

信息保存后,需要将数据持久化到存储设备中,这些存储设备包括本地文件以及数据库。

现在我们知晓了怎样运用去构建我们自身的爬虫软件,接下来让我们来谈论库。

请求使用

有一个包在特定环境中启动 HTTP 请求时非常有用且用户友好,这个包被称为 库。

使用爬虫代码模拟提交HTTP请求

发送获取请求

浏览器打开豆瓣首页最原始的请求其实就是get请求。

打印 res 的类型。

您可以看到,我们得到了一个响应对象。要是有需要的话,我们能够通过 text 或者某个属性来获取网站返回的数据。

文本:提供数据的字符串表示。

内容:返回二进制数据

打印 res.text 的类型。打印 res.text。>>> ……发送后期请求。

通常需要提交邮寄申请表格。

https://img1.baidu.com/it/u=2447537163,2849113383&fm=253&fmt=JPEG&app=138&f=JPEG?w=591&h=500

使用“”进行.post 操作,数据为{"key": "value"},结果赋值给 r

其中必须传递的表单数据是字典数据的一种。

头部强化

因为某些网站会拒绝没有标头的请求,所以必须进行一些标头修改。示例包括 UA 以及主机和其他数据。

用户代理为“/5.0 (nt 10.0; win64; x64) /537.36 (khtml, like gecko) /76.0.3809.100 /537.36”

“”: “your }

res = .get(‘’, =)

解析 HTML

获取到网页返回的数据,即 HTML 代码之后,我们需要对 HTML 进行解析,并且提取出相关数据。

Soul

名为“ soul”的包的主要目的是解析来自网页的数据。

爬虫实战:爬虫豆瓣海报

我们能够经由豆瓣影人页面抵达度影人的影人照片页面。例如刘涛,就具备以下这样的影人图片页地址:

现在分析这个页面

目标网站的页面分析

需要注意的是,互联网网站页面的内容处于不断变化之中。所以,您得先学习本站的分析方法,之后再转向其他网站。

开发者工具

正确使用开发者工具是很重要的。可以通过按 f12 键来打开它。

当我们对任何图像进行右键单击操作并选择某个选项时,我们能够看到“Tools”已经被启动了,并且它位于图像的旁边,这是非常方便的。

每一张图片都被明确放置在了 li 标签里。li 标签中的 img 包含着图片的地址。

我们知道这些限制之后,就能够使用 xpath 来解析 html 页面,从而找到图片的 url 。

代码创建

https://img1.baidu.com/it/u=2406738477,2367927633&fm=253&fmt=JPEG?w=500&h=666

只需要几行代码就可以完成图片url的提取。

导入请求

从 bs4 导入

url = ‘’

res = .get(url).text

= (res, “html.”)

data 是一个元素,它的标签是 'div',并且具有属性 {'class': 'cover'}。

图片列表 = []

对于数据中的 d:

plist = d.find(‘img’)[‘src’]

.(plist)

打印(图片列表)

>>>

[图片链接:‘ com/view/photo/m//.jpg’],[图片链接:‘ /photo/m//.jpg’],[图片链接:‘ m//.jpg’]

如您所见,这是一个组织良好的列表,其中保留了发帖人地址。

这只是一页海报所包含的信息。我们查看时能发现,该页面具备很多分页的功能。怎样去处理分页呢?

总结

本节用一个具体例子阐述了爬虫的基本操作,还阐述了必要的库和函数,总结了从网页分析到数据存储的整个过程。实际上,爬虫只是进行模拟请求、解析数据以及存储数据的操作。

有时,网站会实施一些额外的反爬措施,像进行验证、分析请求频率、限制其他浏览器用户的访问以及使用 js 混淆等。当下需要反抓取这类的反爬设备。把代理 IP 插入进去,接着使用模拟浏览器的等待模式。
页: [1]
查看完整版本: Python爬虫入门教程:从零开始学习网络数据抓取与保存技巧