网易首页 > 网易号 > 正文 申请入驻

干货:爬虫必须得会的Web知识

0
分享至

来源:CriseLYJ 链接:
https://github.com/CriseLYJ/Python-crawler-tutorial-starts-from-zero/blob/master/爬虫预备知识.md

爬虫定义、分类和流程

爬虫定义

网络爬虫(又被称为网页蜘蛛,网络机器人)就是模拟浏览器发送网络请求,接收请求响应,一种按照一定的规则,自动地抓取互联网信息的程序。
爬虫就是模拟浏览器的行为,越像越好,越像就越不容易被发现。
原则上,只要是浏览器(客户端)能做的事情,爬虫都能够做。

爬虫的分类

通用爬虫:通常指搜索引擎的爬虫

聚焦爬虫:针对特定网站的爬虫

爬虫的用途

  • 今日头条

  • 网易云音乐

  • 12306抢票

  • 网站自动投票

  • 短信轰炸

  • 等等

爬虫的流程

  1. 1. 向起始url发送请求,并获取响应

  2. 2. 对响应进行提取

  3. 3. 如果提取url,则继续发送请求获取响应

  4. 4. 如果提取数据,则将数据进行保存

robots 协议

Robots 协议:网站通过 Robots 协议告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取,但它仅仅是道德层面上的约束 例如:淘宝的 robots 协议

总结

  • 爬虫概念:模拟浏览器发送网络请求,接收请求响应。只要是浏览器(客户端)能做的事情,爬虫都能够做。

  • 爬虫的分类:聚焦爬虫、通用爬虫

  • 爬虫的流程:

  • 2. 对响应进行提取

  • HTTP 与 HTTPS 的概念

    HTTP

    概念:HTTP(超文本传输协议)是应用层上的一种客户端/服务端模型的通信协议,它由请求和响应构成,且是无状态的。 协议:协议规定了通信双方必须遵守的数据传输格式,这样通信双方按照约定的格式才能准确的通信。 无状态:无状态是指两次谅解通信之间是没有任何联系的,每次都是一个新的连接,服务端不会记录前后的请求信息。

    HTTP 请求流程

    1. 1. 浏览器通过域名解析服务器(DNS)获取IP地址

    2. 2. 浏览器先向 IP 发起请求,并获取相应

    3. 3. 在返回的响应内容(html)中,会带有 css、js、图片等 url 地址,以及 ajax 代码,浏览器按照响应内容中的顺序依次发送其他的请求,并获取相应的响应

    4. 4. 浏览器每获取一个响应就对展示出的结果进行添加(加载),js,css 等内容会修改页面的内容,js也可以重新发送请求,获取响应

    5. 5. 从获取第一个响应并在浏览器中展示,直到最终获取全部响应,并在展示的结果中添加内容或修改————这个过程叫做浏览器的渲染

    五层网络模型

    HTTP协议结构图

    网络模型对应关系

    1. 1. HTTP、RTSP、FTP -------> 应用层

    2. 2. TCP、UDP -------> 传输层

    3. 3. IP -------> 网络层

    4. 4. 数据链路 -------> 数据链路层

    5. 5. 物理介质 -------> 物理层

    url 地址格式

    格式说明: scheme://host[:port]/path/…/[?query-string][#anchor]
    1. 1. scheme:协议(例如:http, https, ftp)

    2. 2. host:服务器的 IP 地址或者域名

    3. 3. port:服务器的端口(如果是走协议默认端口,缺省端口80)

    4. 4. path:访问资源的路径

    5. 5. query-string:参数,发送给 http 服务器的数据

    6. 6. anchor:锚(跳转到网页的指定锚点位置)

    HTTP 请求

    请求格式

    案例

    • 请求方式

    根据 HTTP 标准,HTTP 请求可以使用多种请求方法。
    HTTP1.0 定义了三种请求方法: GET, POST 和 HEAD 方法。
    HTTP1.1 新增了五种请求方法:OPTIONS, PUT, DELETE, TRACE 和 CONNECT 方法。
    请求方式描述GET请求指定的页面信息,并返回实体主体。HEAD类似于 get 请求,只不过返回的响应中没有具体的内容,用于获取报头POST向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST 请求可能会导致新的资源的建立和/或已有资源的修改。PUT从客户端向服务器传送的数据取代指定的文档的内容DELETE请求服务器删除指定的页面。CONNECTHTTP/1.1 协议中预留给能够将连接改为管道方式的代理服务器。OPTIONS允许客户端查看服务器的性能。TRACE回显服务器收到的请求,主要用于测试或诊断。

    • 常见请求头

    请求头作用 CookieCookie User-Agent浏览器名称 Referer页面跳转处Host主机和端口号Connection链接类型Upgrade-Insecure-Requests升级为 HTTPS 请求Accept传输文件类型Accept-Encoding文件编解码格式x-requested-with : XMLHttpRequestajax 请求

    HTTP 响应

    • 响应格式

    HTTP响应也由四个部分组成,分别是:状态行、消息报头、空行(回车符 + 换行符)和响应正文。

    • 响应头

    响应头作用 Location这个头配合 302 状态码使用,告诉用户端找谁。 Set-Cookie设置和页面关联的 CookieContent-Type服务器通过这个头,回送数据的类型Server服务器通过这个头,告诉浏览器服务器的类型Content-Length服务器通过这个头,告诉浏览器回送数据的长度Connection服务器通过这个头,响应完是保持链接还是关闭链接
    • HTTP 状态码

    当浏览者访问一个网页时,浏览者的浏览器会向网页所在服务器发出请求。当浏览器接收并显示网页前,此网页所在的服务器会返回一个包含 HTTP 状态码的信息头(server header)用以响应浏览器的请求。
    HTTP 状态码的英文为 HTTP Status Code。
    HTTP 状态码由三个十进制数字组成,第一个十进制数字定义了状态码的类型,后两个数字没有分类的作用。HTTP 状态码共分为 5 种类型
    分类分类描述1**信息,服务器收到请求,需要请求者继续执行操作2**成功,操作被成功接收并处理3**重定向,需要进一步的操作以完成请求4**客户端错误,请求包含语法错误或无法完成请求5**服务器错误,服务器在处理请求的过程中发生了错误
    • 常见的 HTTP 状态码:

    • 200 - 请求成功

    • 301 - 资源(网页等)被永久转移到其它 URL

    • 404 - 请求的资源(网页等)不存在

    • 500 - 内部服务器错误

    HTTPS

    1- HTTP + SSL (安全套接字层),即带有安全套接字层的超本文传输协议
    2- 默认端口号:443

    • HTTPS 作用

    在传输过程中对数据进行加密,防止中间路由器、交换机等中间的路由设备对数据进行篡改。
    • HTTP 与 HTTPS 优缺点

    HTTP 因为不需要对数据进行加密所以性能更高,但是安全性差。
    HTTPS 虽然安全性高,但是因为浏览器和服务器端需要对数据进行加解密,所以占用服务器资源。
    • 当前形式

    注意:目前 HTTPS 是未来主流,微信小程序,iOS 客户端,android 客户端的接口提供都需要 HTTPS 接口支持。

    (完)

    声明:文内资料来源于网络,仅作分享交流之用,其版权归原作者所有,如有侵权,请联系我们删除!

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
农村墙上的“标语”又火了,寒了9亿农民的心,到底是对还是错?

农村墙上的“标语”又火了,寒了9亿农民的心,到底是对还是错?

影孖看世界
2024-05-02 17:39:55
今年五一假期发生七个反常现象:消费风向彻底变了!

今年五一假期发生七个反常现象:消费风向彻底变了!

今日美食分享
2024-05-03 21:35:53
梅大高速塌方一家四口确认遇难,女儿仅4岁,儿子19岁上大学

梅大高速塌方一家四口确认遇难,女儿仅4岁,儿子19岁上大学

180°视角
2024-05-03 10:42:33
“21岁胖猫跳江”后续,2年为女友花51万,女方发声:捐了也不还

“21岁胖猫跳江”后续,2年为女友花51万,女方发声:捐了也不还

子芫伴你成长
2024-05-03 18:01:52
大争议!赵继伟20+10成辽宁遮羞布 两次撞倒胡明轩恩怨升级

大争议!赵继伟20+10成辽宁遮羞布 两次撞倒胡明轩恩怨升级

醉卧浮生
2024-05-03 22:04:18
闹大!上海宣布提高老年人退休金,退休金比年轻人工资还高引热议

闹大!上海宣布提高老年人退休金,退休金比年轻人工资还高引热议

南风西洲
2024-05-03 22:11:07
田馥甄,当年朝内地开了3枪,2024年,全部正中自己的眉心!

田馥甄,当年朝内地开了3枪,2024年,全部正中自己的眉心!

闻星盼夏
2024-05-03 17:28:57
周琦12+18统治内线!徐杰26+3朝张镇麟怒吼 郭艾伦场下一脸无奈

周琦12+18统治内线!徐杰26+3朝张镇麟怒吼 郭艾伦场下一脸无奈

颜小白的篮球梦
2024-05-03 21:46:03
特斯拉“空翻车祸”下面的评论,人们越来越不好糊弄

特斯拉“空翻车祸”下面的评论,人们越来越不好糊弄

走读新生
2024-05-03 18:41:09
160国将参加瑞士和平峰会,承诺确保乌克兰利益,俄罗斯未被邀请

160国将参加瑞士和平峰会,承诺确保乌克兰利益,俄罗斯未被邀请

山河路口
2024-05-02 18:51:56
美籍华裔数学家来中国演讲:中国目前的数学水平,还不如1940年的美国

美籍华裔数学家来中国演讲:中国目前的数学水平,还不如1940年的美国

小萝卜丝
2024-05-03 16:26:12
粤辽G2引质疑:狂吹63犯62罚+2违体2T 韩国籍裁判加入吹稀碎

粤辽G2引质疑:狂吹63犯62罚+2违体2T 韩国籍裁判加入吹稀碎

醉卧浮生
2024-05-03 22:19:00
男生为女友花51万跳江!涉事女友正脸曝光!否认自己是捞女!

男生为女友花51万跳江!涉事女友正脸曝光!否认自己是捞女!

远荐
2024-05-03 14:39:25
“胖猫”不是唯一受害者,谭某早年照片流出,高颜值“蛇蝎心”

“胖猫”不是唯一受害者,谭某早年照片流出,高颜值“蛇蝎心”

熙熙说教
2024-05-03 19:01:18
湖人官宣正式解雇哈姆:揭秘下课更多内幕 新帅多人候选名单曝光

湖人官宣正式解雇哈姆:揭秘下课更多内幕 新帅多人候选名单曝光

罗说NBA
2024-05-04 04:28:29
人人反感宗教车!特斯拉车祸让人看透:华为错在低估了网友认知

人人反感宗教车!特斯拉车祸让人看透:华为错在低估了网友认知

大风文字
2024-05-03 17:22:22
复旦大学教授:每次长假都有事故,国家应取消长假制度,防止梅大高速类似惨剧

复旦大学教授:每次长假都有事故,国家应取消长假制度,防止梅大高速类似惨剧

可达鸭面面观
2024-05-03 19:40:48
越闹越大!沈阳、大连、长治频发恶性事件,民众戾气为何如此之重

越闹越大!沈阳、大连、长治频发恶性事件,民众戾气为何如此之重

古装影视解说阿凶
2024-05-03 17:55:30
“160多个代表团受邀,却没有俄罗斯”

“160多个代表团受邀,却没有俄罗斯”

环球时报新闻
2024-05-03 22:04:53
果然,印度和日本破防了

果然,印度和日本破防了

观察者网
2024-05-03 15:13:07
2024-05-04 07:14:44
中云微迅
中云微迅
互联网领域整体解决方案缔造者
639文章数 5关注度
往期回顾 全部

科技要闻

人类首次!去月背取样,中国人再进一步

头条要闻

四川一县委原书记贪污腐败被判11年:他觉得组织查不到

头条要闻

四川一县委原书记贪污腐败被判11年:他觉得组织查不到

体育要闻

湖人官宣解雇哈姆 新帅多人候选名单曝光

娱乐要闻

黄子韬被曝求婚徐艺洋 大量亲密照曝光

财经要闻

远超想象?"股神"巴菲特的AI投资布局

汽车要闻

北京车展上的概念车,AI如何点评?小米SUV发布?

态度原创

艺术
教育
手机
家居
军事航空

艺术要闻

造科幻之物于园林 “天工开悟——夏航雕塑展”于南池子美术馆呈现

教育要闻

国际班大热!这个五一,3000人齐聚金中河西!

手机要闻

荣耀200再次被确认:三证已齐全,预计5月中下旬登场!

家居要闻

心之所栖 黑白灰色系打造设计专属感

军事要闻

俄"硬核军事展览"开幕 现场"人山人海"

无障碍浏览 进入关怀版