zoukankan      html  css  js  c++  java
  • 爬虫基本原理

    一 爬虫基本原理:

    ​ 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=
  • 相关阅读:
    Java Object类
    Java StringBuffer类
    Java String 类
    vuex的使用总结
    vue 周期函数
    vue-cli keep-alive用法以及activated,deactivated
    vue-cli 跳转方式
    vue-cli watch/timer
    vue-cli 使用better-scroll
    vue-cli less使用
  • 原文地址:https://www.cnblogs.com/zfb123-/p/12142752.html
Copyright © 2011-2022 走看看