爬虫基本原理
Posted zfb123-
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了爬虫基本原理相关的知识,希望对你有一定的参考价值。
一 爬虫基本原理:
? 1.什么是爬虫?
- 爬取数据
什么是互联网?
- 互联网是由一堆网络设备,将世界上所有的电脑互联到一起;
2.为什么要使用爬虫技术?
- requests 模块底层帮我们封装好了socket套接字,我们只需要关注http协议的通信流程;
- 普通用户获取数据:
- 打开浏览器,输入网址
- 访问目标网站
- 目标网站将数据返回给浏览器
- 浏览器将数据进行渲染
- ctrl + c 、 ctrl + v
- “爬虫程序”获取数据:
- 模拟浏览器往目标网站发送请求:
- 请求库
- requests模块
- selenium模块
- 获取目标网站返回的响应数据
- 服务端会自动将数据返回,无需通过代码实现
- 解析并提取有价值的数据
- 解析模块:
- re正则模块
- BeautifulSoup4解析库: bs4
- xpath解析语法: 通过文档树,查找规则
- selector属性选择解析库: css
- 保存到数据库、或者本地
- 存储库:
- mysql
- redis
- mongodb
- file
- 爬虫全过程:
- 发送请求
- 获取响应数据
- 解析并提取数据
- 保存数据
- 爬虫三部曲(*******):
1.发送请求(*******)
- 先分析目标网站的http协议请求流程
- 再写代码
2.获取数据
3.保存数据
- 安装
pip3 install requests
- 分析http协议请求流程:
- 谷歌浏览器自带的开发者工具(推荐使用):
- GET:
- 请求url:
- Request URL: https://www.baidu.com/
- 请求方式:
- Request Method: GET
- 响应头(请求后,服务端返回的数据):
- set-cookies: 服务端告诉浏览器要保存cookies
- Location: 服务端告诉浏览器需要立马跳转的url地址
- 请求url:
- 请求头(携带访问目标服务端的数据):
- Cookie
- user-agent: 浏览器凭证,服务端有可能通过它做反扒
- Referer: 当前url,上一次访问的url地址;
请求参数:Params
- 可携带1KB左右的数据
- https://www.baidu.com/s?wd=%E7%BE%8E%E5%A5%B3
- wd=%E7%BE%8E%E5%A5%B3
- POST:
- 请求url:
- Request URL: https://passport.baidu.com/v2/api/?login
- 请求方式:
- Request Method: POST
- 响应头(请求后,服务端返回的数据):
- set-cookies: 服务端告诉浏览器要保存cookies
- Location: 服务端告诉浏览器需要立马跳转的url地址
- Location: 服务端告诉浏览器需要立马跳转的url地址
- 请求头(携带访问目标服务端的数据):
- Cookie:
- user-agent: 浏览器凭证,服务端有可能通过它做反扒
- Referer: 当前url,上一次访问的url地址; https://www.baidu.com/s?wd=%E7%BE%8E%E5%A5%B3
- user-agent: 浏览器凭证,服务端有可能通过它做反扒
- 请求体:
- 明文用户名:
- 正确用户名
- 正确密文pwd: - OQUoK471BPXLSQbQ3rKKpbYJZ/x8zgZ91LVs4Bw6sKoNeuJH9KoOkac0mhDiZ/H3n1Adxq1g/tgSD3EEhreqVoxJMO3VxqYH5LDlHR0U0gxeGpeuTaHGKWE4aun6vxVWjYIJcfAmQ3/b2JUqGawYcM9xtJZPrhPU86u/1i7e3DM=
- 正确用户名
- 请求url:
- GET:
- 谷歌浏览器自带的开发者工具(推荐使用):
以上是关于爬虫基本原理的主要内容,如果未能解决你的问题,请参考以下文章