爬虫之requests的使用

目录

前言

Requests库的使用:

 安装Requests库:

示例一:爬取B站主页面

 示例二:爬取百度翻译结果

 实例三:抓取豆瓣电影排名

抓取URL与Agent


前言

requests是一个很实用的Python HTTP客户端库,编写爬虫和测试服务器响应数据时经常会用到,Requests是Python语言的第三方的库,专门用于发送HTTP请求。基于 urllib,采用 Apache2 Licensed 开源协议的 HTTP 库。它比 urllib 更加方便,可以节约我们大量的工作,完全满足 HTTP 测试需求。Requests 的哲学是以 PEP 20 的习语为中心开发的,所以它比 urllib 更加 Pythoner。

Requests库的使用:

requests.requests()

requests.get(‘https://github.com/timeline.json’) #GET请求

requests.post(“http://httpbin.org/post”) #POST请求

requests.put(“http://httpbin.org/put”) #PUT请求(提交修改全部的数据)

requests.delete(“http://httpbin.org/delete”) #DELETE请求

requests.head(“http://httpbin.org/get”) #HEAD请求

requests.patch(“http://httpbin.org/get”) #PATCH请求(提交修改部分数据)

 安装Requests库:

pip install requests

或者可以用清华镜像:

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple requests

示例一:爬取B站主页面

import requests
url = 'https://www.bilibili.com/'
resp = requests.get(url)
print(resp)
print(resp.text) #得到页面源代码

大致结果是这样的:

 示例二:爬取百度翻译结果

运用post()方法

requests.post(url,  data=None, json=None, **kwargs)

url: 拟获取页面的url链接

data: 字典,字节序列或文件,Requests的内容

json: JSON格式的数据,Requests的内容

import requests
url = "https://fanyi.baidu.com/sug"
requests.post(url)
s = input(":")
dat = {
    "kw":s
}
resp = requests.post(url, data=dat)
print(resp.json()) #将返回的内容直接返回为json
输入dog,回车

 实例三:抓取豆瓣电影排名

import requests


url = "https://movie.douban.com/j/chart/top_list"

#
param = {
    'type': '24',
    'interval_id': '100:90',
    'action': '',
    'start': 0,
    "limit": 20,
}
headers = {
   "User-Agent": "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.55 Mobile Safari/537.36 Edg/96.0.1054.43"
}#防反爬
resp = requests.get(url=url, params=param, headers=headers)

# print(resp.request.url) 打印url
print(resp.json())

get()方法:

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

url: 拟获取页面的url链接

params: url中的额外参数,字典或字节流,可选择

抓取URL与Agent

 值得注意的是:我们打开豆瓣页面

豆瓣电影分类排行榜 - 喜剧片 (douban.com)https://movie.douban.com/typerank?type_name=%E5%96%9C%E5%89%A7&type=24&interval_id=100:90&action=右击鼠标

点击检查

 点击网络:

此时是空的:

 点击网站,回车

 

 出现很多参数,选择

 

 

 可以看到请求url

这里是:https://movie.douban.com/j/chart/top_list?type=24&interval_id=100:90&action=&start=0&limit=1

将'?"后的参数可以去掉

 往下滑:找到代理:

 就是代码中的header的修改内容。

大功告成,简单的数据抓包!

 详细内容请关注公众号,一起学习讨论。

Python爬虫中,requests库是非常常用的一个库,它提供了简洁而强大的API来发送HTTP请求。对于使用requests库进行爬虫,以下是一些基本操作和高级用法的介绍: 基本操作: 1. 安装requests库:使用pip命令可以安装requests库,例如:`pip install requests`。 2. 导入requests库:在Python脚本中导入requests库,例如:`import requests`。 3. 发起GET请求:使用requests库的get方法可以发起GET请求,例如:`response = requests.get(url)`。 4. 发起POST请求:使用requests库的post方法可以发起POST请求,例如:`response = requests.post(url, data)`。 5. 响应内容:通过response对象可以获取请求的响应内容,例如:`response.text`返回响应内容的字符串形式。 高级用法: 1. 请求头部信息:可以通过headers参数来设置请求头部信息,例如:`headers = {"User-Agent": "Mozilla/5.0"}`,然后将headers作为参数传入GET或POST请求中。 2. 发送参数:可以通过params参数来发送请求参数,例如:`params = {"key": "value"}`,然后将params作为参数传入GET请求中。 3. 发送数据:可以通过data参数来发送POST请求的数据,例如:`data = {"key": "value"}`,然后将data作为参数传入POST请求中。 4. 文件上传:可以通过files参数来上传文件,例如:`files = {"file": open("filename", "rb")}`,然后将files作为参数传入POST请求中。 5. 超时设置:可以通过timeout参数来设置请求的超时时间,例如:`timeout = 5`,表示设置超时时间为5秒。 6. 会话管理:可以使用Session对象来管理会话,例如:`session = requests.Session()`,然后可以使用session对象发送多个请求,会话对象会自动保存和使用Cookies信息。 7. 重定向处理:可以通过allow_redirects参数来控制是否允许重定向,默认为True,可以设置为False来禁止重定向。 8. SSL验证:可以通过verify参数来控制SSL证书验证,默认为True,可以设置为False来禁止验证。 总结:以上是Python爬虫使用requests库的一些基本操作和高级用法。你可以根据具体的需求来选择合适的方法和参数来发送HTTP请求,并获取响应内容。记得根据实际情况进行异常处理和错误判断,以保证爬虫的稳定性和可靠性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

进步小白

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值