当前位置:首页 » 《随便一记》 » 正文

python-爬虫基础

15 人参与  2023年03月21日 14:49  分类 : 《随便一记》  评论

点击全文阅读


一、爬虫的概念

模拟浏览器,发送请求,获取响应

网络爬虫(又被称为网页蜘蛛,网络机器人)就是模拟客户端(主要指浏览器)发送网络请求,接收请求响应,一种按照一定的规则,自动地抓取互联网信息的程序。

原则上,只要是客户端(浏览器)能做的事情,爬虫都能够做

爬虫也只能获取客户端(浏览器)所展示出来的数据

二、爬虫的作用

数据采集

抓取微博评论(机器学习舆情监控)

抓取招聘网站的招聘信息(数据分析、挖掘)

新浪滚动新闻

百度新闻网站

软件测试

爬虫之自动化测试

虫师

12306抢票

网站上的投票

投票网

网络安全

短信轰炸

web漏洞扫描

三、爬虫的分类

3.1 根据被爬取网站的数量不同,可以分为:

通用爬虫,如 搜索引擎

聚焦爬虫,如12306抢票,或专门抓取某一个(某一类)网站数据

3.2 根据是否以获取数据为目的,可以分为:

功能性爬虫,给你喜欢的明星投票、点赞

数据增量爬虫,比如招聘信息

3.3 根据url地址和对应的页面内容是否改变,数据增量爬虫可以分为:

基于url地址变化、内容也随之变化的数据增量爬虫

url地址不变、内容变化的数据增量爬虫

四、爬虫的流程

获取一个url

向url发送请求,并获取响应(需要http协议)

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

如果从响应中提取数据,则将数据进行保存

五、复习http请求

掌握 http以及https的概念和默认端口

掌握 爬虫关注的请求头和响应头

了解 常见的响应状态码

理解 浏览器和爬虫爬取的区别

1. http以及https的概念和区别(测试面试题)

HTTPS比HTTP更安全,但是性能更低

HTTP:超文本传输协议,默认端口号是80

超文本:是指超过文本,不仅限于文本;还包括图片、音频、视频等文件

传输协议:是指使用共用约定的固定格式来传递转换成字符串的超文本内容

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

SSL对传输的内容(超文本,也就是请求体或响应体)进行加密

可以打开浏览器访问一个url,右键检查,点击net work,点选一个url,查看http协议的形式

2. 爬虫特别关注的请求头和响应头

Content-Type

Host (主机和端口号)

Connection (链接类型)

Upgrade-Insecure-Requests (升级为HTTPS请求)

User-Agent (浏览器名称)

Referer (页面跳转处)

Cookie (Cookie)

Authorization(用于表示HTTP协议中需要认证资源的认证信息,如前边web课程中用于jwt认证)

加粗的请求头为常用请求头,在服务器被用来进行爬虫识别的频率最高,相较于其余的请求头更为重要,但是这里需要注意的是并不意味这其余的不重要,因为有的网站的运维或者开发人员可能剑走偏锋,会使用一些比较不常见的请求头来进行爬虫的甄别

3. 常见的响应状态码(测试面试)

200:成功

302:跳转,新的url在响应的Location头中给出

303:浏览器对于POST的响应进行重定向至新的url

307:浏览器对于GET的响应重定向至新的url

403:资源不可用;服务器理解客户的请求,但拒绝处理它(没有权限)

404:找不到该页面

500:服务器内部错误

503:服务器由于维护或者负载过重未能应答,在响应中可能可能会携带Retry-After响应头;有可能是因为爬虫频繁访问url,使服务器忽视爬虫的请求,最终返回503响应状态码


点击全文阅读


本文链接:http://zhangshiyu.com/post/56143.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1