python-爬虫-requests

2023-09-12 19:28:50

安装模块

pip install requests

在jupyter notebook里使用Shift+Tab查看

requests

requests库的主要方法

方法解释
requests.requset()构造一个请求,支持以下各种方法
requests.get()获取HTML的主要方法
requests.head()获取HTML头部信息
requests.post()向HTML网页提交POST请求
requests.put()向HTML网页提交PUT请求
requests.patch()向HTML提交局部修改的请求
requests.delete()向HTML提交删除请求
import requests

r = requests.get('http://www.baidu.com/')
r.encoding='utf-8'
r.text

.text属性可以获取以文本形式呈现出的网页源吗或其他结果
在这里插入图片描述

get和post请求

最常用

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

params:请求时需要提交的参数,字典格式(可选)

**kwargs参数

参数名称描述
params字典或字节序列,作为参数加到URL中
“?key1=value1&key2=value2”
data字典或文件对象,重点作为向服务器提供或提交资源时提交。
与params不同的是,data提交的数据不放在URL链接里,而是放在
与URL链接对应位置的地方作为数据来储存(可以接收一个字符串对象)
jsonjson格式的数据,可作为内容部分向服务器提交
kv={‘key1’:‘value1’}
r=requests.request(‘POST’,‘https://httpbin.org/’,json=kv)
headers字典,是HTTP的相关词,对应了某个向URL访问时发起的HTTP的头字段
可以用该字段定义HTTP访问的HTTP头,来模拟任何想模拟的浏览器对URL发起访问
cookies字典或CookieJar,从HTTP中解析cookie
auth元组,支持HTTP认证功能
files字典,向服务器传输文件时使用的字段
fs={‘files’: open(‘data.txt’,‘rb’)}
timeout设定超时时间,超时产生timeout异常
proxies字典,设置访问代理服务器
allow_redirects开关,表示是否允许对URL进行复位,默认True
stream开关,指是否对获取内容进行立即下载,默认True
verify开关,用于认证SSL整数,默认True
cert用于设置保存本地SSL证书路径

发起请求后,被请求的服务器将会返回一个包含 服务器资源的response对象

响应对象内容

属性说明
status_codeHTTP请求的返回状态,200表示请求成功
textHTTP响应内容的str形式,即返回页面的内容
encoding从HTTP Header中猜测的响应内容编码方式
apparent_encoding从内容中分析出的响应内容编码方式(备选编码方式)
contentHTTP响应内容的二进制形式
r = requests.get('https://httpbin.org/')
r.status_code		# 200
r.encoding			# 'utf-8'
r.apparent_encoding	# 'Windows-1252'

访问目标网站,可以通过data或json方式传递参数

data = {'key1':'value1','key2':'value2'}
r = requests.get(url,data=data)
r.text

requests.post()一般用于表单提交,向指定url提交数据,可提交str、dict、文件等数据

# 向url post一个字典
payload = {'name':'zhangsan','age':'34'}
r = requests.post('http://httpbin.org/post',data=payload)
print(r.text)
# 向url post一个str,自动编码为data
r = requests.post('http://httpbin.org/post',data='helloworld')
print(r.text)

在这里插入图片描述


requests请求HTTPS协议的网址时,报错或得不到数据
一般是由SSL证书引起的,可以在使用requests的时候多加一个verift=False参数来忽略SSL验证

import requests

r = requests.get('https://fanyi.baidu.com/',verify=False)
r.text
更多推荐

VS Code时间轴插件:MarkWhen

文章目录简介时间格式事件格式简介MarkWhen是一款文本转时间轴的工具,非常好用,也十分炫酷。可在VSCode中搜索插件MarkWhen,点击安装,然后新建一个.mw后缀的文件,就可以使用了,下面举一个简单的例子#Holiday:blue2023-09-10:周日#Holiday9/17/2023:周日#Holida

day21算法

常见的七种查找算法:​数据结构是数据存储的方式,算法是数据计算的方式。所以在开发中,算法和数据结构息息相关。今天的讲义中会涉及部分数据结构的专业名词,如果各位铁粉有疑惑,可以先看一下哥们后面录制的数据结构,再回头看算法。1.基本查找​也叫做顺序查找​说明:顺序查找适合于存储结构为数组或者链表。基本思想:顺序查找也称为线

计算机证书java

利润importjava.util.Scanner;publicclassTest{publicstaticvoidmain(String[]args){//profit代表输入的利润,bonus代表奖金额doubleprofit=0,bonus=0;System.out.print("请输入本年利润(万):");Sc

Git 的基本概念和使用方式

Git是一种分布式版本控制系统,它可以帮助开发者管理代码,跟踪代码的变化并协作开发。以下是Git的一些基本概念和使用方式:1.仓库(repository):存放代码的地方,包括本地仓库和远程仓库。2.分支(branch):用来指代不同代码的开发路径,可以独立开发、测试和合并。3.提交(commit):每次修改代码时,需

selenium自动化测试-登录网站用户

昨天学习了selenium自动化测试工具的入门,知道了Selenium是用于自动化控制浏览器做各种操作,打开网页,点击按钮,输入表单等等。今天学习通过selenium自动化测试工具自动登录某网站用户操作。第一步:确定目标网址比如:天天基金网站登录页面"https://login.1234567.com.cn/login

SpringBoot中pom.xml配置详解

🔔简介pom.xml是Maven项目的核心配置文件,用于管理项目的依赖、插件、构建配置等。在SpringBoot项目中,pom.xml文件也扮演着重要的角色。在pom.xml文件中,可以配置项目的资源文件。在SpringBoot的pom.xml文件中,通常会有一个标签文件,用于指定资源文件的路径和名称。🔔基本配置�

关于时空数据的培训 GAN:实用指南(第 01/3 部分)

第1部分:深入了解GAN训练中最臭名昭著的不稳定性。一、说明GAN是迄今为止最受欢迎的深度生成模型,主要是因为它们最近在图像生成任务上产生了令人难以置信的结果。然而,GAN并不容易训练,因为它们的基本设计引入了无数的不稳定性。如果你尝试过用MNIST以外的任何东西训练GAN,你很快就会意识到,所有关于训练他们的痛苦(以

【开发环境】安装 Hadoop 运行环境 ( 下载 Hadoop | 解压 Hadoop | 设置 Hadoop 环境变量 | 配置 Hadoop 环境脚本 | 安装 winutils )

文章目录一、下载Hadoop二、解压Hadoop三、设置Hadoop环境变量四、配置Hadoop环境脚本五、安装winutils六、重启电脑七、验证Hadoop安装效果一、下载HadoopHadoop发布版本在https://hadoop.apache.org/releases.html页面可下载;当前最新版本是3.3

Flutter插件之阿里百川

上一篇:Flutter插件的制作和发布,我们已经了解了如何制作一个通用的双端插件,本篇就带领大家将阿里百川双端sdk制作成一个flutter插件供项目调用!目录登录并打开控制台,创建应用:填写应用相关信息开通百川电商SDK申请安全图片下载SDK创建插件项目将ios端sdk下的framework和bundle文件夹复制到

WEB漏洞原理之---【XML&XXE利用检测绕过】

文章目录1、概述1.1、XML概念1.2、XML与HTML的主要差异1.3、XML代码示例2、靶场演示2.1、Pikachu靶场--XML数据传输测试玩法-1-读取文件玩法-2-内网探针或攻击内网应用(触发漏洞地址)玩法-3-RCE引入外部实体DTD无回显-读取文件开启phpstudy--apache日志3、XXE绕过

LwIP介绍

文章目录一、LwIP简介二、LwIP主要特性:三、文件说明lwip-2.1.3contrib-2.1.0一、LwIP简介lwIP(LightweightIP)是瑞典计算机科学院(SICS)的AdamDunkels开发的一个小型开源的TCP/IP协议栈。LwIP是LightWeight(轻型)IP协议,有无操作系统的支持

热文推荐