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

相关推荐

  • ps有哪些办法可以把照片调亮一点

    PS怎样把照片调亮? PS中怎样把照片调亮有很多办法,这里做一个集中的对比讲解,并说下每种方法的优缺点。 一,色阶提亮。 如图,原片加一个色阶调整层: 通过移动白色滑块和灰色滑块来…

    2023-07-02
  • win7老显示ie已停止工作怎么办

    对于win7出现ie已经停止工作提示,首先要考虑到自身电脑是否中毒,首先要利用杀毒软件杀毒。如果杀毒后,问题依然存在,可以考虑一键还原系统,这是解决此问题比较简单方便的方法。 方法…

    2022-12-24
  • 电脑怎么连接投影仪(电脑怎么连接投影仪做显示屏)

    “网络极客”,全新视角、全新思路,伴你遨游神奇的网络世界。 电脑怎么连接投影仪设备? 电脑在连接显示器的情况下,接入投影仪设备,属于双屏输出; 需要从连接的方式、显示图像、声音播放…

    2022-12-27
  • sketch有哪些强大的插件,sketch必备十大插件

    Sketch中 提供了一个非常强大的第三方插件库功能,可以将第三方开发的插件导入到sketch中,用以弥补sketch部分功能不足的作用。 在sketch的偏好设置中,可以将下载的…

    2023-08-24
  • 电脑的cpu温度高怎么办

    电脑CPU温度居高不下,分析其原因 CPU温度高原因分析 一、软件方面 1. 病毒原因 木马程序从远程控制你计算机的一切活动,包括让你的计算机重新启动。 清除病毒,木马,或重装系统…

    2023-07-22
  • excel列中如何统一增加固定的字

    Excel中怎么截取某列中的第一个汉字? 使用Left函数; 使用分列; 使用快速填充; 01 Left从左向右提取指定位数的字符 用法:Left(字符串, 位数) 类似函数有:L…

    2023-02-18
  • 托管老师是什么意思

    作为一名托管老师,首先想到的是自己要有能力,要有本事能够照顾学生的生活,能够辅导孩子的学习,能够满足家长的要求。 作为一名托管老师,同时也想到了必须招到学生。只有招到学生才可以挣钱…

    2023-08-20
  • 游戏内存条怎么选择(玩大型游戏内存条要多大)

    其实CPU,内存,显卡和游戏的关系好比一个建筑工程: CPU:搬砖的 内存:运砖车 显卡:拿砖盖房子的 游戏优化和驱动:砖的利用效率 系统和垃圾软件:突发事件或者场外因素 游戏:最…

    电脑教程 2023-07-12
  • 电脑c盘满了怎么清理

    我来说一下我对电脑C盘清理的一些心得吧,也许对题主和大家有所帮助。 早年用电脑我就一直很奇怪,明明我把各类应用都安装到C盘以外的磁盘空间里而且C盘也不存放什么数据文件为什么C盘总是…

    2023-02-15
  • 久病床前无孝子,多么扎心的现实

    这看似老生常谈的问题背后确实有着剪不断理还乱的背景,其核心是:父母与子女的亲密关系在一个特定场景被打破。 首先,分析一下什么是“孝”。孝,包括孝心与孝行两部分。这即是一种社会伦理对…

    2023-06-22