python爬虫怎么做(python怎么编写爬虫)

开发流程

网络爬虫的本质就是模拟客户端发送请求,一个爬虫的基本开发流程包含五步:

1、明确目标数据

2、分析数据的请求流程

3、模拟发送请求

4、解析数据

5、数据持久化

一、明确目标数据

我们要下载的是百度图片首页中的图片

python爬虫怎么做(python怎么编写爬虫)图1

网页中的图片是浏览器通过 http 请求下载回来的。

浏览器会先下载图片的 url,再通过 url 下载图片。

所以我们只要找到图片 url 的 http 请求即可。

一般情况下,页面中的图片 url 就包含在页面的 HTML 文档中,使用谷歌浏览器开发者调试工具获取图片的 url

python爬虫怎么做(python怎么编写爬虫)图2

然后右键查看网页源文件可以查看当前页面的 HTML 文档

ctrl+f 调出搜索框,把前面找到的图片的 url 粘贴进来,果然发现了 url 就在 HTML 中

python爬虫怎么做(python怎么编写爬虫)图3

为了稳妥可以多找几张图片的 url 测试。发现页面中的前 30 张图片的 url 都在 HTML 文档中。

二、分析数据请求流程

分析请求流程的目的找到目标资源的 http 请求,根据前面学习的 HTTP 协议知识,分析请求流程的具体信息是:

1、请求方法

2、url

3、请求头

4、请求数据

1.1 工具

在 HTTP 协议中信息以二进制的形式进行传输的,我们需要借助工具来分析 HTTP 请求。常用工具有,谷歌浏览器和 fiddler。

1.1.1 fiddler

fiddler 的使用和安装相对复杂,谷歌浏览器可以满足大部分的请求流程分析,这里主要介绍谷歌浏览器。

1.1.2 谷歌浏览器

谷歌浏览器提供了开发者调试工具,能够对浏览器的 HTTP 请求进行监控,按功能键 F12 即可打开工具界面,功能窗口如下:

python爬虫怎么做(python怎么编写爬虫)图4

点击某个具体的请求后

python爬虫怎么做(python怎么编写爬虫)图5

我们这个案例中的请求就是网页的请求

python爬虫怎么做(python怎么编写爬虫)图6

1、请求方法:get

2、url:https://image.baidu.com/search/index?tn=baiduimage&ct=201326592&lm=-1&cl=2&ie=gb18030&word=%CD%BC%C6%AC&fr=ala&ala=1&alatpl=adress&pos=0&hs=2&xthttps=000000

3、请求头:当前可以忽略

4、请求数据:无

三、 发送请求

分析清楚目标资源的请求过程后,就需要通过代码模拟发送请求。

通过 socket 发送 HTTP 请求

python爬虫怎么做(python怎么编写爬虫)图7

工具库

上面我们通过使用 socket 实现了一个非常简单的请求的发送,可以看到代码比较复杂,如果需要传递更多信息,处理起来会更繁琐,费时费力。python 提供了很多的库,将发送 HTTP 请求的细节进行了封装,只需要进行简单的调用就可以实现各种 http 请求的发送,常用的库有:

  • urllib urllib 是一个用来处理网络请求的 python 标准库
  • urllib3 urllib3 是一个基于 python3 的功能强大,友好的 http 客户端。越来越多的 python 应用开始采用 urllib3.它提供了很多 python 标准库里没有的重要功能。
  • requests 牛逼

使用 requests 发送请求

python爬虫怎么做(python怎么编写爬虫)图8

四.解析数据

响应正文及响应数据一般分为两大类,文本数据和二进制数据。

其中文本数据又分为 HTML 和 JSON(注:主要指爬虫目标数据,js,CSS 等也属于文本数据)。

二进制数据主要指各种音频,视频,其他文件等。

对于二进制数据一般不需要特殊处理。

HTML 解析

今天的案例数据包含在 HTML 文档中,所以需要解析 HTML

解析 HTML 的常用方法有两种:

1、正则表达式

2、HTML 解析库

五、数据持久化

爬虫爬取到的数据需要存储起来,对于少量的数据,生成相应的文件,例如 Excel,cvs 等。

对于图片,视频等二进制文件也是以文件的形式保存。

如果要保存大量的文本信息,例如商品信息,订单信息等,就需要存储到数据库中。

代码

python爬虫怎么做(python怎么编写爬虫)图9

需要更多软件测试干货资料,来私信获取即可~

本文来自投稿,不代表天一生活立场,如若转载,请注明出处:http://tiyigo.com/it/38420.html

(0)
上一篇 2023-08-09 12:25
下一篇 2023-08-09 12:37

相关推荐

  • 大学软件工程学生怎么学习c语言

    开始入手而且很长一段时间都无法接触到日常经常使用的视窗程序,由此好奇者有之,迷惑者有之等等,更遗憾的是也有少部分人因为困惑对编程逐渐失去兴趣。第二就是今天妹妹看C程序设计语言(潭浩…

    电脑教程 2023-02-15
  • 有没有真正好音质的蓝牙音箱推荐的品牌

    好音质的蓝牙音箱还是超级多的,500元以内的桌面小音箱选择面还是挺广的,不过要想集性能和颜值于一体,而且性价比高的话,还得仔细挑一挑。这里我为大家筛选了三款性能颜值都过关的小音箱,…

    2023-08-15
  • 虚拟机有什么用,手机虚拟机有什么用

    虚拟机可以模拟出一个完整的计算机系统,包括硬件和操作系统,使得用户可以在同一台物理计算机上运行多个虚拟计算机。虚拟机的主要用途包括: 1. 软件测试:虚拟机可以提供一个安全的测试环…

    2023-05-01
  • 宝马630GT怎么样(宝马630gt操控怎么样)

    对于宝马6系gt这款车,我个人觉得性价比一般,如果用一句话来形容的话,除了售价贵,几乎挑不出来缺点。 这款车是老款宝马5系gt的换代车型,虽然名字是6系gt,但是它是在标准轴距的宝…

    2023-04-04
  • tcp传输协议中如何解决丢包问题的方法

    一、解答之前,要考虑TCP协议为什么会丢包,在什么样的情况下会丢包。 1、TCP协议定义(Transimission Control Protocol)是以一种面向连接的、可靠的、…

    2023-07-27
  • 怎样登录路由器,怎样登录路由器管理界面

    路由器我们都离不开,因为有线或者无线上网,都要经过路由器,那么怎么登录路由器?我想有很多人也想知道,包括那些不法分子,所以怎么登录路由器,我们不能等闲视之。路由器登录方法,说明书上…

    2023-02-05
  • 如何在word中快速高效率编辑复杂数学公式

    我们使用word办公,撰写科技论文、硕士博士毕业论文,经常要编辑复杂数学函数公式。复杂公式编辑最费时间,无论在排版还是输入方面,那都是一个让人十分头大的事情,至少花2分钟编辑一个数…

    2023-06-21
  • 五笔输入法怎么背字根

    记字根口决啦顺嘴记起容易些 拆字原则: 字根拆原则: 1、书写顺序:拆合体字定要按照确书写顺序进行例:新能拆立、木、斤能拆立、斤、木 能拆口、丨能拆丨、口;夷能拆、弓、能拆、弓 2…

    电脑教程 2023-05-30
  • 怎样在手机照片下方留白加文字(如何在照片下方留白加文字)

    手机里的照片,在传播至社交软件前,我们往往都喜欢美化一下图片,其中也包含给照片做一个边框和添加文字注释这样的修图项目。那么怎样实现这样的图片处理呢?如果仅仅是白边框加下方文字这样的…

    2023-07-15
  • 微信个人公众号关键词自动回复怎么设置的

    我们每次关注公众号后收到的信息就属于被关注自动回复,然后在跟公众号互动的时候,如果对方没有在线,所回复的内容为收到消息回复。 二、选择添加回复,设置内容 1、规则名称 根据你想设置…

    2023-08-05