带你了解requests库

requests库是什么呢?

浏览器发送请求消息给服务器,这个过程叫做HTTP request。

requests库是基于urllib库之上,采用 Apache2 Licensed 开源协议编写的,比urllib更加方便。

首先是安装requests库:

pip install requests

其次,导入requests

import requests

 

接下来介绍requests库的一些方法:

requests.get(url, params=None, **kwargs)

请求获取url的资源

url:新建Request对象的URL链接
params:字典或字节序列,作为参数增加到url中
**kwargs:12个控制访问的可选参数

如:headers:字典格式,HTTP请求头,作为Request对象Header的内容

cookies:字典或CookieJar,Request中的cookie

proxies:字典类型,用于将协议映射为代理的URL

stream:True/False,默认为True,获取body立即下载开关,为False会立即下载响应头和响应体;为True时会先下载响应头,当Reponse调用content方法时才下载响应体

这里修改了headers,可以对比一下与上张图的user-agent

get方法返回的值req是一个Reponse对象,可以通过对象的方法查取我们所需要的信息。

req.status_code:状态码描述

req.text:读取内容

req.json():将json数据转换成字典数据

req.content:读取原始数据

req.headers:应答头信息

 

 

接下来呢,我们来尝试使用request库爬取360图片?

在这之前,我们首先介绍一下AJAX

AJAX不是JavaScript的规范,它只是一个哥们“发明”的缩写:Asynchronous JavaScript and XML,意思就是用JavaScript执行异步网络请求。

如果仔细观察一个Form的提交,你就会发现,一旦用户点击“Submit”按钮,表单开始提交,浏览器就会刷新页面,然后在新页面里告诉你操作是成功了还是失败了。如果不幸由于网络太慢或者其他原因,就会得到一个404页面。

这就是Web的运作原理:一次HTTP请求对应一个页面。

如果要让用户留在当前页面中,同时发出新的HTTP请求,就必须用JavaScript发送这个新请求,接收到数据后,再用JavaScript更新页面,这样一来,用户就感觉自己仍然停留在当前页面,但是数据却可以不断地更新。

最早大规模使用AJAX的就是Gmail,Gmail的页面在首次加载后,剩下的所有数据都依赖于AJAX来更新。

用JavaScript写一个完整的AJAX代码并不复杂,但是需要注意:AJAX请求是异步执行的,也就是说,要通过回调函数获得响应。

XHR

就是 XMLHttpRequest 对象。

也就是ajax功能实现所依赖的对象

我们分析一下,向下拖动,变化url参数是

       "ch":"funny",表示你选择的图片主题,这里是搞笑的
       "sn":0,
       "listtype":"new",
       "temp":"1" 

因此在创建url的时候,这些参数需要传递进去。

说一下我们需求,就是爬取360图片,然后存储。

这里我们构建一个类,类中有哪些方法,需要根据功能划分一下

1.开始爬虫方法

2.获取当前url的数据

3.获取对应图片的URL

4.存储数据

 

 

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值