爬虫基本原理

一 爬虫基本原理:

​ 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地址
      • 请求头(携带访问目标服务端的数据):
        - Cookie
        - user-agent: 浏览器凭证,服务端有可能通过它做反扒
        - Referer: 当前url,上一次访问的url地址;
        请求参数:Params
        - 可携带1KB左右的数据
        - https://www.baidu.com/s?wd=美女
        - wd=%E7%BE%8E%E5%A5%B3
      • POST:
    - 请求方式:                
       	- Request Method: POST            
    - 响应头(请求后,服务端返回的数据):                
       	- set-cookies: 服务端告诉浏览器要保存cookies                
             	- Location: 服务端告诉浏览器需要立马跳转的url地址            
    - 请求头(携带访问目标服务端的数据):                
       	- Cookie:                
             	- user-agent: 浏览器凭证,服务端有可能通过它做反扒                
          	- Referer: 当前url,上一次访问的url地址;  https://www.baidu.com/s?wd=%E7%BE%8E%E5%A5%B3            
    - 请求体:                
       	- 明文用户名:                   
             	- 正确用户名                
          	- 正确密文pwd:                    - OQUoK471BPXLSQbQ3rKKpbYJZ/x8zgZ91LVs4Bw6sKoNeuJH9KoOkac0mhDiZ/H3n1Adxq1g/tgSD3EEhreqVoxJMO3VxqYH5LDlHR0U0gxeGpeuTaHGKWE4aun6vxVWjYIJcfAmQ3/b2JUqGawYcM9xtJZPrhPU86u/1i7e3DM=
原文地址:https://www.cnblogs.com/zfb123-/p/12142752.html