IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 爬虫之requests的使用 -> 正文阅读

[网络协议]爬虫之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的修改内容。

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

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

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-12-09 12:01:41  更:2021-12-09 12:01:56 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年7日历 -2024/7/8 12:04:41-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码