requests 爬虫简介

这里我们学习聚焦网络爬虫

针对特定网页的爬虫 也叫主题网络爬虫,爬取的 目标网页定位在与主题相关的页面中 ,主要为某一类特定的人群提供服务, 可以节省大量的服务器资源和带宽资源。聚焦爬虫在实施网页抓取时会对内容进行处理筛选,尽量保证 只抓取与需求相关的网页信息。 比如要获取某一垂直领域的数据或有明确的检索需求,此时需要过滤掉一些无用的信息。 例如:那些比较价格的网站,就是爬取的其他网站的商品。

聚焦爬虫流程

  1. 第一步:start_url 发送请求
  2. 第二步:获取响应(response)
  3. 第三步:解析响应,若响应中有需要的新的url地址,重复第二步;
  4. 第四步:提取数据
  5. 第五步:保存数据 通常,我们会把获取响应,解析放在一个步骤中完成,
  6. 所以说,聚焦爬虫的步骤,通俗的来讲一共四步

学习爬虫首先了解http/https协议

 http与https协议

  1. 介绍 HTTP协议:HTTP 协议(HyperText Transfer Protocol)超文本传输协议 HTTP协议规定了浏览器和 Web 服务器通信数据的格式,即 应用于web服务端与浏览器客户端之间 通信的协议,是目前互联网应用最为广泛的一种协议,目前的主流版本是http1.1

  2. HTTPS协议: https是以安全为目标的Http协议,可以理解为HTTP的安全版,即http中加入了ssl层,其传输的内容 都是经过ssl加密的

requests介绍

  1. 首先下载requests第三方库 pip install requests 
  2. 在pycharm中导入
  3. requests.url#获取当前路径
  4. requests.text#获取文本
  5. requests.encoding #编码
  6. requests.json #json数据
  7. requests.status.code#获取状态码
  8. requests.cookie #返回cookie
  9. requests.history#返回会响应历史
import requests


url = "https://www.baidu.com" #指定爬取的url路径


respone=requests.get(url)#requests.get获取到url

print(response.text)#打印响应体html


URL介绍

url概念

        URL(Uniform Resoure Locator) : 统一资源定位器,是对网络资源地址的描述,俗称网址

url写法

http://www.gdrtvu.edu.cn/xxgk1/xxjj.htm
http://www.gdrtvu.edu.cn:80/xxgk1/xxjj.htm
http://www.gdrtvu.edu.cn/img/banner3.jpg
https://www.baidu.com/index.html
http://14.215.177.39/
https://search.jd.com/Search?keyword=小米&enc=utf-8&&pvid=a2607588
file:///C:/Users/lijun/Desktop/demo/fool.html

url组成

  1.         协议部分: https://、http:// 、ftp://、file://
  2.         主机部分: 域名或ip地址, www.gdrtvu.edu.cn 、 search.jd.com 、 14.215.177.39
  3.         端口部分: 80、4000、443、8080
  4.         资源路径部分: /xxgk1/xxjj.htm , /img/banner3.jpg
  5.         查询参数部分[可选]: ?keyword=小米&enc=utf-8&pvid=a2607588
  6.         参数部分从 ? 开始, 每一个参数 key=value 的形式 , 参数与参数用 & 隔开

http请求报文

http://www.gdrtvu.edu.cn/xxgk1/xxjj.htm

由四部分组成,分别为:

  1. 请求行 [请求方式 请求路径 协议版本\r\n]
  2. 请求头 [头名称: 头值\r\n]
  3. 空行 [请求头与请求体的分割线 \r\n]
  4. 请求体 [只有post方式有请求体]

http响应报文格式

由四部分组成,分别为:

  1. 响应行[协议版本 状态码 状态描述\r\n]
  2. 响应头[头名称: 头值\r\n]
  3. 空行 [响应头与响应体的分割线\r\n]
  4. 响应体[响应给客户端的具体数据]

HTTP常见请求头和响应头

请求头:

  •  Host (主机和端口号)
  •  Connection (连接类型)
  •  Upgrade-Insecure-Requests (是否升级为HTTPS请求)
  •  User-Agent (用户代理/浏览器名称)
  • Accept (客户端可接收的文件类型)
  •  Referer (页面跳转处)
  • Cookie (用户行为状态)

响应头:

  • Set-Cookie (服务器设置cookie到用户浏览器的缓存)
  • Server(服务器名称)

get与post 请求方式

  1. get侧重从服务器上获取资源,post侧重向服务器发送数据,get请求是默认的请求方式
  2. get请求参数的传输是附在URL后,并用"?"连接,多个请求数据间用"&"连 http://127.0.0.1/Test/login.action?name=admin&password=admin
  3. post请求参数的传输是通过 HTTP的 post机制,将参数名与对应值封存在请求体中发送给服务端 account=12&pwd=34&age=20
  4. Get传输的数据量小,因为受URL长度限制,Post可以传输大量数据,所以上传文件时只能用Post 方式
  5. get 安全性没有post好,因为get传参是拼接在url后面,是可见的, 而post传输是封装在请求体 中, 是不可见的

http响应状态码

HTTP 状态码是用于表示web服务器响应状态的数字代码

  • 状态码         说明
  • 200              请求成功
  • 307              重定向
  • 404              请求资源在服务器不存在
  • 500              服务器内部源代码出现错误

网页基础知识

  1. 网页的组成 html :
  2. 负责内容 css :负责样式,是对内容的修饰
  3. javascript:负责行为和交互

 DOM文档结构模型

在网页中,组织页面的对象被渲染程一个树形结构,用来表示文档中对象的标准模型,称为文档对象 模型(DOM)

DOM规定:

  1. 整个文档是一个文档节点, 每一个HTML标签 是一个元素节点, 元素里面包含多个属性,元素之间可 包含文本,
  2. 节点树中的节点包含层级关系,比如父、子、兄弟等关系, 父节点拥有子节点, 同级的子节点被称为 兄弟节点或者姐妹节点
  • 节点树中, 顶端节点被称为根
  • 每个节点都有父节点,除了根
  • 一个节点可拥有任意数量的子节点
  • 兄弟是拥有相同父节点的节点
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值