爬虫知识整理

爬虫原理

  • 基本概念 : 请求网站并提取数据的自动化程序

  • 基本流程

    • 发起请求:通过http库向目标站点发起请求,即发送一个Request,请求中可以包含二外的headers,cookie等信息,等待服务器响应
    • 获取响应内容: 如果服务器能正常响应,会得到一个Response,Response的内容便是需要获取的页面内容,类型可能为HTML,json字符串,或者二进制数据(视屏音频)等类型

    • 解析内容: 根据Response返回的内容,把数据转换为想要的数据类型 ​

    • 保存数据: 把数据进行保存,保存格式随意,可为文本,或者存入数据库中

    在这里插入图片描述

Request和Response

  • Request: 浏览器发送消息给某个网址所在的服务器,这个过程叫做HTTP Request

  • Response: 服务器接受到浏览器发送的消息后,能根据浏览器发送的消息内容,做相应的处理,然后把消息返回给浏览器,该过程叫做HTTP Response

在这里插入图片描述

  • Request中包含的内容有哪些?

    • 请求方式: 主要有GET,POST,两种类型,另外还有PUT、DELETE、HEAD、OPTIONS等

    • 请求URL : 统一资源定位符,就是常说的网址(实际上的网址并不仅仅是url)

    • 请求头 : 包含请求时的头部信息,如User-Agent,Host,Cookies等信息

    • 请求体 : 请求时额外携带的数据,如表单提交时的表单数据

在这里插入图片描述

  • Response中包含的内容

    • 响应状态 : 常见的如200(成功), 301(跳转) , 404(找不到网页), 502(服务器错误)等

在这里插入图片描述

  • 响应头: 如内容类型,内容长度,服务器信息,设置cookie等等(可在页面中点击右键,找到检查元素,查看network)

  • 响应体 : 最主要的部分, 包含请求资源的内容

在这里插入图片描述

抓取数据和解析

  • 可以抓取的数据有:

    • 视频音频
    • 图片(当然,爬取美女图片啊之类的,就更不是问题了,嘿嘿)
    • 其他请求的数据
  • 解析数据的方法

    • 直接处理数据
    • json解析
    • 正则表达式(性能最高,但有时候较复杂,不推荐使用)
    • BeautifulSoup(须安装第三方库BeautifulSoup4,安装直接使用pip install BeautifulSoup4即可)
    • 使用xpath语法进行解析(语法简单,性能较好,推荐使用)
  • 正则 xpath bs4 的对比

    rexpathbs4
    安装内置模块pip install lxmlpip install BeautifulSoup4
    语法正则路径匹配面向对象,可使用HTML中的选择器(标签,CSS等等)
    使用困难较困难简单
    性能最高适中最低

解决某些页面是通过ajax渲染而成的情况: 分析ajax请求 ; Selenium/WebDriver; Splash等**

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值