Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Python-Requests

Python-Requests

作者头像
NikoDos
发布于 2022-03-29 08:01:55
发布于 2022-03-29 08:01:55
37900
代码可运行
举报
文章被收录于专栏:Niko的小窝Niko的小窝
运行总次数:0
代码可运行

本教程使用Python语言,需提前安装Pip3 or Pip,例如Linux类的,请在命令行内输入

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo apt install python3-pip

安装

  • Linux
  • Windows
  • Macos

一条命令(临时换源):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo pip install requests -i https://mirrors.aliyun.com/pypi/simple/

Pypi包源官网: Requests 在这可以看到有关这个第三方库的一切。

另一个就是PIP命令行安装,很简单,一条命令。

由于包源在国外,所以访问速度感人,可以先Pip换源,再试。(后面说)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
pip install requests

加速:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/

本人无钱购买Mac,所以没有钞能力去完成这个教程,各位有钱人施舍施舍?

使用

基础{Get请求}

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import requests
data = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36'
}  # 向服务器传递的数据
response = requests.get('https://bing.com',data=data).text # text函数:获取对应网址的源代码
print(response)

User-Agent就像是浏览器的身份证,如果是Requests默认的ua的话,对应服务器会拒绝你的爬虫请求,简而言之,拿不到数据。

进阶 {Post请求}

  1. 带数据的 post
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# -*- coding:utf-8 -*-
import requests
import json
 
host = "http://httpbin.org/"
endpoint = "post"
url = ''.join([host,endpoint])
data = {'key1':'value1','key2':'value2'}
 
r = requests.post(url,data=data)
#response = r.json()
print (r.text)
  1. 多文件上传
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# -*- coding:utf-8 -*-
import requests
import json
 
host = "http://httpbin.org/"
endpoint = "post"
 
url = ''.join([host,endpoint])
#多文件上传
files = [
    ('file1',('test.txt',open('test.txt', 'rb'))),
    ('file2', ('test.png', open('test.png', 'rb')))
    ]
 
r = requests.post(url,files=files)
print (r.text)

冷门 {Put 请求}

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import requests
import json
url_put = "http://127.0.0.1:8080/"
headers_put = {
	'Content-Type': "application/json"
}
param = {
	'myObjectField': 'hello'
}
payload = json.dumps(param)
response_put = requests.put(url, data=payload, headers=headers_put)

项目实战: 梨视频爬虫

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# !/usr/bin/python3
# -*- coding:utf-8 -*-
"""
@author: 
@file: 梨视频爬虫.py
@time: 2021/7/11 21:48
@desc: 
"""
import requests

url = "https://www.pearvideo.com/video_1731260"
headers = {
    "user-agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36",
    "referer": url,
}
contId = url.split("_")[1]
videoStatusUrl = f"https://video.pearvideo.com/mp4/third/20210603/cont-{contId}-15316010-202041-hd.mp4"
# 'https://video.pearvideo.com/mp4/third/20210603/cont-1731260-15316010-202041-hd.mp4'

resp = requests.get(videoStatusUrl, headers=headers).content
with open("video.mp4", mode="wb") as file:
    file.write(resp)
  1. 第14行,referer的定义,因梨视频请求头中必须有防盗链,即字典中的referer,如果没有,则获取不到视频数据。
  2. 第16、17行,通过抓包得知,梨视频的视频直链即为一串固定地址加上视频ID号,只需进行字符串分割即可。
  3. 第20行,向服务器发起GET请求,注意,.content是获取网页的二进制数据

总结

这库是真的好用,方便。比Python标准库urllib好N倍不止,平时爬虫爬个电影数据就好,不要太过分。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-01-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
python爬取梨视频生活板块最热视频
此处视频地址做了加密即ajax中得到的地址需要加上cont-,并且修改一段数字为id才是真地址 真地址:"https://video.pearvideo.com/mp4/third/20201120/cont-1708144-10305425-222728-hd.mp4" 伪地址:"https://video.pearvideo.com/mp4/third/20201120/1606132035863-10305425-222728-hd.mp4"
python学习教程
2021/03/17
8580
python爬取梨视频生活板块最热视频
用python爬取梨视频,谁让我无聊的时候爱看小视频呢!
有时人无聊就喜欢看一些小视频,但网络却时好时坏的,所以就下载下来再看了,但一个一个的下载有点慢,所以本文就出现了。
Python与Excel之交
2021/08/05
4010
爬虫练习题(五)
防盗链式记录从哪个地址跳转过来的?有些会携带,有些会不携带,服务器会根据这个检查,一旦核验,同样也会视为爬虫自动化程序,所以我们要携带这个参数
设计者
2022/12/20
4790
爬虫练习题(五)
Python爬虫--Requests 库用法大全
昨晚分享了Python爬虫的基本知识,本文分享一下爬虫里面请求相关的内容:Requests 用法。
用户9925864
2022/07/27
7760
Python爬虫--Requests 库用法大全
Python爬虫技术系列-03requests库案例-完善
Python爬虫技术系列-03requests库案例 参考 参考:https://blog.csdn.net/Faith_Lzt/article/details/124933765 https://
IT从业者张某某
2023/10/16
4490
Python爬虫技术系列-03requests库案例-完善
Python爬虫requests库详解
上一节中,我们了解了 urllib 的基本用法,但是其中确实有不方便的地方,比如处理网页验证和 Cookies 时,需要写 Opener 和 Handler 来处理。为了更加方便地实现这些操作,就有了更为强大的库 requests,有了它,Cookies、登录验证、代理设置等操作都不是事儿。
仲君Johnny
2024/02/05
1.1K0
Python爬虫requests库详解
requests发送post请求,你真的明白吗?
前言 在Python爬虫中,使用requests发送请求,访问指定网站,是常见的做法。一般是发送GET请求或者POST请求,对于GET请求没有什么好说的,而发送POST请求,有很多朋友不是很清楚,主要是因为容易混淆POST提交的方式。今天在微信交流群里,就有朋友遇到了这种问题,特地讲解一下。 在HTTP协议中,post提交的数据必须放在消息主体中,但是协议中并没有规定必须使用什么编码方式,从而导致了提交方式的不同。服务端根据请求头中的Content-Type字段来获知请求中的消息主体是用何种方式进行编码
七夜安全博客
2018/06/26
1.1K0
python的requests库
利用 pip 安装,如果你安装了pip包(一款Python包管理工具,不知道可以百度哟),或者集成环境,比如Python(x,y)或者anaconda的话,就可以直接使用pip安装Python的库。
狼啸风云
2019/09/06
1.1K0
Requests库快速学习
requests常用来进行接口请求,爬取网页等,相对于原生的urllib,它发起请求更加简洁和容易理解,支持HTTP连接保持和连接池、cookie保持会话、文件上传和支持自动确定响应内容的编码等。
吾非同
2020/10/23
4660
Requests库快速学习
Python爬虫神器requests库的使用
在现代编程中,网络请求几乎是每个项目不可或缺的一部分。无论是获取数据、发送信息,还是与第三方 API 交互,都会涉及到网络请求。
左诗右码
2024/11/07
5330
Python爬虫神器requests库的使用
Requests库详解
requests(爬虫系列之一) 由于最近工作中,与同事对接模拟手机浏览器进行广告模拟跳转。又一次接触用到爬虫的知识,以前用过urllib + bs4 + selenium定向爬取网易一元夺宝的商品信息保存在数据库中,当时,还是太年轻,对爬虫不是很了解,对爬虫的robots协议也不知道。现在重新梳理一下爬虫的知识。争取写一个系列,大致内容顺序是requests, bs4,re, scrapy, selenium等。 在介绍requests库之前,先介绍以下基本的http概念, 下面内容是在上嵩天教授课程
若与
2018/04/25
2.1K1
Requests库详解
Python网络爬虫(五)- Requests和Beautiful Soup1.简介2.安装3.基本请求方式5.程序中的使用4.BeautifulSoup4
Requests 是用Python语言编写,基于 urllib,采用 Apache2 Licensed 开源协议的 HTTP 库。它比 urllib 更加方便,可以节约我们大量的工作,完全满足 HTTP 测试需求。
Python攻城狮
2018/08/23
1K0
Python网络爬虫(五)- Requests和Beautiful Soup1.简介2.安装3.基本请求方式5.程序中的使用4.BeautifulSoup4
python模块之requests及应用
Python标准库中提供了:urllib、urllib2、httplib等模块以供Http请求,但是,它的 API 太渣了。它是为另一个时代、另一个互联网所创建的。它需要巨量的工作,甚至包括各种方法覆盖,来完成最简单的任务。
菲宇
2019/06/12
1.7K0
python模块之requests及应用
教程 | Requests的基本用法
Requests是Python语言编写,基于urllib3,采用Apache2 Licensed开源协议的HTTP库。它比urllib更加方便,可以节约我们大量的工作,完全满足HTTP测试需求。是Python实现的简单易用的HTTP库。
昱良
2019/05/13
8950
教程 | Requests的基本用法
图解爬虫,用几个最简单的例子带你入门Python爬虫
爬虫一直是Python的一大应用场景,差不多每门语言都可以写爬虫,但是程序员们却独爱Python。之所以偏爱Python就是因为她简洁的语法,我们使用Python可以很简单的写出一个爬虫程序。本篇博客将以Python语言,用几个非常简单的例子带大家入门Python爬虫。
ZackSock
2020/12/08
9240
图解爬虫,用几个最简单的例子带你入门Python爬虫
python爬虫–异步
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/100100.html原文链接:
全栈程序员站长
2021/04/19
7440
python爬虫–异步
Python爬虫模拟登陆和异步爬虫
模拟登陆 使用超级鹰平台识别验证码的编码流程: 将验证码图片进行本地下载 调用平台提供的示例代码进行图片数据识别 有验证码,验证码可以读取到但测试未成功 # 验证码 import requests from lxml import html import chaojiying # 封装识别验证码函数 if __name__ == "__main__": headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win6
shaoshaossm
2022/12/26
5370
梨视频解析
import requests url = input("输入梨视频网址:") #url = "https://www.pearvideo.com/video_1743115" countId = url.split("_")[1] headers = { "Referer": url, "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/
凡尘扰凡心
2023/02/14
2.4K0
【Python爬虫】Requests的使用(3)
Requests 是用Python语言编写,基于 urllib,采用 Apache2 Licensed 开源协议的 HTTP 库。它比 urllib 更加方便,可以节约我们大量的工作,完全满足 HTTP 测试需求。 因为是第三方库,所以使用前需要cmd安装: pip install requests 安装完成后import一下,正常则说明可以开始使用了,当然还有更懒的方法通过IDE安装,比如pycharm。
PM小王
2019/07/01
5270
Python HTTP库requests 介绍
前面我写的爬虫用的都是Python自带的的标准库urllib,这个库用起来还行,不过有些操作比较麻烦。所以现在我们来学习一下一个非常著名的HTTP库——requests。 打开官网还有一段警告。可见r
乐百川
2018/01/09
1.7K0
相关推荐
python爬取梨视频生活板块最热视频
更多 >
LV.1
这个人很懒,什么都没有留下~
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验