美文网首页
爬虫基本原理介绍

爬虫基本原理介绍

作者: 慕慕她爸 | 来源:发表于2019-08-25 20:23 被阅读0次
    • 什么是爬虫
      请求网站并提取数据的自动化程序
    • 爬虫基本请求
    1. 发起请求
      通过http库向目标站点发起请求,即发送一个request,请求可以包括额外的headers等信息,等待服务器响应
    2. 获取响应内容
      如果服务器能正常响应,会得到一个response,response的内容就是索要获取的页面内容,类型可能有html,json字符串,二进制数据(比如图片或者视频)等类型
    3. 解析内容
      得到的内容可能是html,可以使用正则表达式,网页解析库进行解析。可能是json,直接转换为json对象解析,可能是二进制数据,直接保存或者进一步处理
    4. 保存数据
      保存形式多样,可以保存为文本,也可以保存到数据库,或者保存为特定格式的文件
    • Request和Response介绍


      image.png
    1. 浏览器发送消息给所在网址的服务器消息,这个过程就是http Request
    2. 服务器收到收到浏览器发送的消息,会根据浏览器发送消息的内容,作适当处理,然后把消息回传给浏览器,这个过程叫做http Response
    3. 浏览器收到服务器的Response信息以后,会对消息进行相应的处理,然后展示
    • Request 相关知识
    1. 请求方式
      主要有get、post两种类型,另外还有head、put、delete、options等
    2. 请求URL
      URL全程统一资源定位符,如一个网页文档、一张图片、一个视频等都可以用URL唯一来确定
    3. 请求头
      包含请求时的头部信息,比如User-Agent、Host、Cookies等信息
    4. 请求体
      请求时额外携带的数据,不如表单提交时的表单数据
    • Response 相关知识
    1. 响应状态
      有多重响应状态,比如200表示成功、301跳转、404找不到网页、502服务器错误
    2. 响应头
      如内容类型、内容长度、服务器信息、设置Cookie等
    3. 响应体
      最主要的部分。包含了请求资源得内容。比如网页HTML、图片、二进制数据等
    • 爬虫能抓什么数据
    1. 网页文本
      如html文档,json格式文本
    2. 图片
      获取的是二进制文件,保存为图片格式
    3. 视频
      同为二进制文件,保存为视频格式即可
      4 其他
      只要是能获取到的,都不获取
    • 常见的解析方式
    1. 直接处理
    2. json解析
    3. 正则表达式处理
    4. BeautifulSoup
    5. PyQuery
    6. Xpath
    • 如何解决JavaScript渲染的问题
    1. 分析Ajax请求
    2. Selenium/WebDriver
    3. Splash
    4. PyV8、Ghost.py
    • 如何保存数据
      1.文本
      出文本、json、xml
    1. 关系型数据库
      比如MySQL、Oracle、SQL Server等具有结构化表结构的存储
    2. 非关系型数据库
      比如MongoDB、Redis等Key-Value形式存储
    3. 二进制文件
      比如图片、视频、音频等直接保存为特定格式即可

    相关文章

      网友评论

          本文标题:爬虫基本原理介绍

          本文链接:https://www.haomeiwen.com/subject/qrekectx.html