网站上添加图片的原则,吉林网站建设企业,西安金融网站建设,包装袋设计网站推荐功能相对单一#xff0c;只针对特定网站的特定内容进行爬取#xff0c;比如说去某个网站批量获取某些数据#xff0c;这也是我们个人最常用的一种爬虫了。
③增量式爬虫#xff08;只采集更新后的内容#xff09;
这其实是聚焦爬虫的一个迭代爬虫#xff0c;它只采集更…功能相对单一只针对特定网站的特定内容进行爬取比如说去某个网站批量获取某些数据这也是我们个人最常用的一种爬虫了。
③增量式爬虫只采集更新后的内容
这其实是聚焦爬虫的一个迭代爬虫它只采集更新后的数据对老数据是不采集相当于一直存在并运行只要有符合要求的数据更新了就会自动爬取新的数据。 3.Robots协议
在爬虫中有一个叫Robots协议需要注意一下又称为“网络爬虫排除标准”它的作用就是网站告诉你哪些东西能爬哪些不能爬。
这个Robots协议去哪看一般情况下直接在网站首页网址后面加/robots.txt就能查看比如百度的Robots协议就在https://www.baidu.com/robots.txt 可以看到里面有很多网址都规定了不能爬比如Disallow:/shifen/ 说明当前Disallow:/shifen以及Disallow:/shifen下面的子目录网页均不能爬。 其实这个Robots协议属于一个君子协议对于爬虫者来说基本上就是口头协议你违反了它你有可能会被追究法律责任但不违反它爬虫将是爬不到什么数据所以平时双方都是睁一只闭一眼不要太嚣张就可以了。 粉丝专属福利站内跳转 二、爬虫的基本流程 1.爬虫的4步
爬虫是怎么干活的爬虫程序大致上可以分为四步走
①发起请求
通过HTTP库向目标站点发起请求即发送一个Request,请求可以包含额外的headers等信息等待服务器响应。
②获取响应内容
如果服务器能正常响应会得到一个ResponseResponse的内容便是所要获取的页面内容类型可能有HTML、Json字符串和二进制数据(如图片视频)等类型。
③解析内容
得到的内容可能是HTML,可以用正则表达式、网页解析库进行解析。可能是Json,可以直接转为Json对象解析可能是二进制数据可以做保存或者进一步的处理。
④保存数据
保存的数据样式很多可以保存为文本也可以保存至数据库或者保存为特定格式的文件。
基本上这就是爬虫要遵循的四步了。 2.Request和Response
Request和Response是爬虫中最重要的一部分Request和Response是什么关系它们两的关系如下图 简单理解一下当我们在电脑的浏览器上搜索某个东西的时候比如前面的所说的在百度搜索“Python”你点击百度一下就已经向百度的服务器发送了一个Request请求Request包含了很多的信息比如身份信息、请求信息等等服务器接收请求之后做判断然后返回一个Response给我们的电脑这其中也包含了很多信息比如请求成功与否比如我们请求的信息结果文字、图片和视频等等。
这样讲应该很好理解吧接下来我们再好好去看一下Request和Response。 三、了解Request Request包含了哪些东西它主要包含了以下一些东西
1.请求方式
请求方式可以理解为你跟网站打招呼的方式你要从网站拿到数据你就得用正确的方式去跟它打招呼它才有可能理你就好比你要别人家借个东西你得先敲门再说你好你直接爬窗户进去这谁瞧见了都得给你撵出去。 主要的请求方式有GET和POST另外还有HEAD/PUT/DELETE/OPTIONS等等其他方式其中最常用的还是GET这种请求方式。 2.请求URL
什么是URLURL全称统一资源定位符比如一个网页文档、图片、视频等等都有唯一的URL在爬虫中我们可以理解为网址或者链接。 3.请求头
什么是请求头英文名Request Headers通常是指请求时包含的头部信息比如User-Agent、Host、Cookies等等。
这些东西它相当于你向网站发送请求时你的身份信息这里面经常需要伪装一下自己伪装成普通用户避免你的目标网站识别出来你是爬虫程序规避一些反扒问题顺利拿到数据。 4.请求体
官方一点的说辞就是请求时额外携带的数据如表单提交时的表单数据。
怎么理解就比如说你去你岳父家提亲你不能空着手过去提亲对吧你得带点东西才像个提亲的样子你岳父才会把女儿许配给你这是大家通用的礼数少不了的。 在爬虫当中怎么理解比如说在某些页面你得先登录了或者你得告诉我你请求什么比如说你在百度这个网页中搜索“Python”那么这个“Python”这个关键字就是你要携带的请求体看到了你的请求体百度才知道你要干什么。
当然了请求体通常是用在POST这种请求方式里面在GET请求时我们通常是拼接在URL里面这里先理解一下就可以了后续具体爬虫可以去加深理解。 5.实操查看Request
既然Request的理论我们已经讲过了那么我们就可以去实操看一下Request具体在哪个位置以及包含哪些东西。
以谷歌浏览器Chrome为例我输入关键字“Python”可以搜索出一堆结果我们来用网页自带的控制台窗口来分析一下我们发出的Request请求。
按住F12或者在网页空白处右键选择“检查”然后可以看到控制台里面有很多选择比如说上面那一栏有一个菜单栏初级爬虫一般我们就比较常用到的是Elements元素和Network网络其他的东西暂时用不到等你学到了高级一点的爬虫就会用到了比如JS逆向的时候可能会用到Application这个窗口后面用到了再了解。
Elements包含了所有的请求结果的每一个元素比如每一个图片的源代码都是有的尤其是当你点了左上角的小箭头之后你移动到的每一个地方在Elements窗口下都会显示对于的源代码。 Network就是爬虫常用到的网络信息其中就有我们的Request我们来看一下在Network窗口下勾选Disable cache(禁用缓存)并把All点上。 刷新一下网页看看效果可以看出我们发出了132个Request请求这个不用好奇虽然我们只是向百度发出了“Python”这么一个请求但有些是网页附带的请求。 虽然里面有很多类型什么图片格式的png啊jpeg等等但是你可以滑动到最上面在Type(类型)那一列中有document这种类型就是网页文档的意思点击进去就有我们的Request信息。 点击document进去之后又有一栏新的菜单栏在Headers那一栏下面我们可以看到 Request URL也就是我们前面说的请求URL这个URL才是我们真正向网页请求的URL然后还有请求方式可以看出来是GET请求这种方式。 往下再滑动一下还可以看到我们前面讲的请求头 Request Headers 信息很多但我们前面讲的User-Agent、Host、Cookies都是有的这些都是我们给服务器的信息。 Request Headers里面内容虽然多我们在写爬虫程序的时候也是要在这方面做伪装工作但并不是所有的信息我们都要写选择性地写一些重要的信息就可以了比如User-Agent必带Referer和Host是选择性地带cookie在要登录的情况下会带常用的也就4项要做伪装。
至于请求体这里我就暂时不做查看了因为我们这里的请求方式是GET请求在POST请求中才能查看到请求体没关系爬虫用到了你自然就会明白的。 四、了解Response Response主要包括3块内容我们来一一了解一下。
1.响应状态
我们发送请求之后网站会返回给我们一个Response这其中就包括了响应状态码对于的响应状态大致可以分为以下几种
①两百范围比如响应状态码200则表示成功。
②三百范围比如301表示跳转。
③四百范围比如404找不到网页。
④五百范围比如502找不到网页。
对于爬虫来说两三百则是我们最希望看到的响应状态有可能会拿到数据四五百基本上就凉了拿不到数据的。
比如我们刚在在前面的Request请求发送时在document文件中在Headers窗口下的General里面可以看出响应状态码是200说明网页成功响应了我们的请求。 2.响应头
服务器给我们的信息里面也会有响应头这一部分这里面包含了内容类型、内容长度、服务器信息和设置Cookie等等。
其实响应头对我们来说并不是那么重要这里了解一下就可以了。 3.响应体
这个就很重要了除了前面第一点的响应状态就是它了因为它包含了请求资源的内容比如网页HTML和图片二进制数等等。
响应体在哪里呢也是在document文件里面的Response那一栏可以往下滑动就可以看出里面有很多响应的数据这就是我们获取到的数据有的是可以直接下载的有的则是需要用技术去解析才能拿到。 五、爬虫能获取到什么样的数据 爬虫能获取到什么样的数据基本上可以分为这么几类
①网页文档如果HTML文档、Json格式文本等。
自我介绍一下小编13年上海交大毕业曾经在小公司待过也去过华为、OPPO等大厂18年进入阿里一直到现在。
深知大多数Python工程师想要提升技能往往是自己摸索成长或者是报班学习但对于培训机构动则几千的学费着实压力不小。自己不成体系的自学效果低效又漫长而且极易碰到天花板技术停滞不前
因此收集整理了一份《2024年Python开发全套学习资料》初衷也很简单就是希望能够帮助到想自学提升又不知道该从何学起的朋友同时减轻大家的负担。 既有适合小白学习的零基础资料也有适合3年以上经验的小伙伴深入学习提升的进阶课程基本涵盖了95%以上前端开发知识点真正体系化
由于文件比较大这里只是将部分目录大纲截图出来每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频并且后续会持续更新
如果你觉得这些内容对你有帮助可以扫码获取备注Python
71c1fb70aad5355a2c5eeff0.png) 既有适合小白学习的零基础资料也有适合3年以上经验的小伙伴深入学习提升的进阶课程基本涵盖了95%以上前端开发知识点真正体系化
由于文件比较大这里只是将部分目录大纲截图出来每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频并且后续会持续更新
如果你觉得这些内容对你有帮助可以扫码获取备注Python