爬虫定义

爬虫是请求网站并提取自己所需要数据的过程。通过我们的程序,可以代替我们向服务器发送请求,然后进行批量的数据下载。

爬虫基本流程

发起请求

通过url向服务器发送requests请求,请求可以包含额外的header信息。

2.获取响应内容

如果服务器正常响应,那么将受到一个response,response即为我们所请求的网页内容,可能包含html\json\二进制数据(图片、视频)等。

解析内容

如果是html代码则可以使用网页解析器进行解析;如果是json数据则可以转换成json对象进行解析;如果是二进制数据则可以保存到文件进行进一步的处理。

保存数据

可以保存到本地文件,也可以保存到数据库(mysql\redis\mongodb等)。

requests请求

当我们通过浏览器向服务器发送requests请求时,这个request包含什么内容?可以通过chrome浏览器的开发人员工具(F12)查看。

请求方式

最常用的请求方式包括get请求和post请求。

post请求在开发中最常见的是通过表单进行提交,从用户角度来讲最常见的就是登陆验证。当你需要输入一些信息进行登陆的时候,这次请求就是post请求。

get请求最常见的就是搜索回车之后,信息将以?间隔添加在url后面。类似于https://www.baidu.com/s?wd=python3%20requests。而且get请求是用来获取数据,是幂等的。

其他还包括put请求(向服务端发送信息从而改变内容)和delete请求(删除资源)。

对于资源的操作,其实都可以通过post/get完成,不需要用到put/delete,实际中put/delete也很少用。

uri统一资源定位符

一个网址、一个视频、一个图片都可以用uri去定义

requests headers

请求头,包括这次请求的类型,cookie信息以及浏览器类型等。

请求头在我们进行网页抓取的时候,服务器会通过解析请求头来进行信息的审核,判断请求是否为合法请求。所以当我们通过程序伪装浏览器进行请求的时候可以设置请求头的信息。

请求体

post请求会把用户信息包装在form-data里面进行提交,因此相比于get请求,post请求的Headers标签的内容会多出Form Data这个信息包。

response

响应状态

通过Headers中的General可以看到status code,使用数字代码表示对于状态,200表示成功,301跳转,404找不到网页,502服务器错误等。

响应头

包括内容的类型,cookie信息等。

响应体

请求的目的就是为了得到响应体,包括html代码,json及二进制数据等。

requests模块

安装使用pip install requests即可。

通过requests进行网页请求

返回的response为文本时通过response.text读取;图片和视频等二进制文件通过response.content读取。

通过添加请求头信息

headers = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.75 Safari/537.36'}

response1 = requests.get('https://www.baidu.com', headers=headers)

文章来源:https://www.toutiao.com/i6680458599539409420/

51自学网python爬虫_Python爬虫基本流程相关推荐

  1. 51自学网python爬虫_小白必看的Python爬虫流程

    定义: 网络爬虫(Web Spider),又被称为网页蜘蛛,是一种按照一定的规则,自动地抓取网站信息的程序或者脚本. 简介: 网络蜘蛛是一个很形象的名字.如果把互联网比喻成一个蜘蛛网,那么Spider ...

  2. 51自学网python爬虫_Python爬虫知识点梳理

    学任何一门技术,都应该带着目标去学习,目标就像一座灯塔,指引你前进,很多人学着学着就学放弃了,很大部分原因是没有明确目标,所以,在你准备学爬虫前,先问问自己为什么要学习爬虫.有些人是为了一份工作,有些 ...

  3. 51自学网python爬虫_自学Python爬虫实战(小白篇)

    Python的爬虫很强大,可以高效的提取网站信息,省时省力高效.瞎掰这么多犹如纸上谈兵,下面把这周的部分成果放出来. 爬取京东商品页面信息 1.我们需要从python中安装一个requests库--- ...

  4. 51自学网python初学者教程-超适合小白的python新手教程

    python介绍 这是我们专门为 小白 量身打造的Python新手教程,具有如下特点: 全视频,手把手,零起点,项目实例,基于船新的Python 版本. Python是一种计算机程序设计语言.你可能已 ...

  5. 51自学网adc自学书_我必须自学的5件事,学校没有

    51自学网adc自学书 I consider myself to be in a fortunate position at this point in my life. I recently mov ...

  6. 计算机wps表格基础知识,wps表格教程全套 - 51自学网

    原标题:wps表格教程全套 - 51自学网 WPS表格"共享工作簿"实现协同工作9分 出处:wps 时间:2013-03-11 人气:11359 您可能感兴趣的问题: 基础知识 处 ...

  7. 快速学python爬虫_Python爬虫丨应当如何快速高效学习

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理 以下文章来源于腾讯云,作者:小小科 ( 想要学习Python?Python学习交流 ...

  8. python从入门到爬虫_python爬虫从入门到放弃(一)之初识爬虫

    什么是爬虫? 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本.另外一些不常使用的名字还有蚂蚁.自动索引. ...

  9. python 基金净值_Python爬虫周记之案例篇——基金净值Selenium动态爬虫

    在成功完成基金净值爬虫的爬虫后,简单了解爬虫的一些原理以后,心中不免产生一点困惑--为什么我们不能直接通过Request获取网页的源代码,而是通过查找相关的js文件来爬取数据呢? 有时候我们在用req ...

最新文章

  1. 一本彻底搞懂MySQL索引优化EXPLAIN百科全书
  2. 非root用户挂载NFS
  3. 无敌简单快速的文件服务器sgfs
  4. 测试管理 | 测试经理定义和实施测试度量
  5. python 自动复制分类_leetcode python 常见分类问题模板(复制粘贴就能用) 更新中......
  6. docker和k8s发展史--理解oci/cri/cni/docker swarm/containerd/runc/dockershim
  7. linux系统批量杀掉进程命令,[Linux]使用awk批量杀进程的命令
  8. 30岁的职场危机,人生下半场的困局
  9. java语言扫雷游戏的实验设计_java扫雷游戏计算机毕业设计中期检查表、中期报告.doc...
  10. vue项目封装腾讯TcPlayer播放器
  11. Linux常用软件包(常用命令)
  12. firefox插件下载失败
  13. 释放数据融合价值!腾讯Angel PowerFL荣获2021数博会“领先科技成果奖”
  14. Android Framework 音频子系统(11)耳麦插拔之声音通道切换
  15. L1-5 不变初心数 (15 分)(C/C++)
  16. mysql 导入tsv文件_HBase数据迁移(2)- 使用bulk load 工具从TSV文件中导入数据
  17. 服务器输出音频文件,云服务器音频输出
  18. python的分布式爬虫框架
  19. 自动读取短信中心号码
  20. 锐速ServerCheck序列号生成原理

热门文章

  1. GB28181国标协议通讯流程简析以及NVR注册不上等相关问题点记录
  2. Unity Shader 新手引导效果
  3. 喜迎双旦 岁末狂欢丨誉天2021开年大促
  4. 讲一个常用的JDK8的STREAM超实用技巧
  5. Mac 解决证书不受信任问题
  6. 使用C++实现MySQL数据库编程
  7. 使用Java+OpenCV3制作,用于生成萌萌哒的GitHub默认头像
  8. AD17走线怎么等长
  9. 生活中有趣好玩的产品设计
  10. 敏捷开发及Scrum介绍