目录
前言
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()
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请求(提交修改部分数据)
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())
抓取URL与Agentget()方法:
requests.get(url, params=None, **kwargs)
url: 拟获取页面的url链接
params: url中的额外参数,字典或字节流,可选择
值得注意的是:我们打开豆瓣页面
豆瓣电影分类排行榜 - 喜剧片 (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的修改内容。
大功告成,简单的数据抓包!
详细内容请关注公众号,一起学习讨论。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)