iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >如何进行基于pycharm的requests库使用
  • 584
分享到

如何进行基于pycharm的requests库使用

2023-06-26 06:06:13 584人浏览 泡泡鱼
摘要

本篇文章为大家展示了如何进行基于PyCharm的requests库使用,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。requests库安装和导入cmd打开命令行,使用如下命令安装requests库。

本篇文章为大家展示了如何进行基于PyCharm的requests库使用,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

requests库安装和导入

cmd打开命令行,使用如下命令安装requests库。

pip install requests

由于我的安装过了,所以如下:

如何进行基于pycharm的requests库使用


如果提示你pip版本需要更新,按照提示的指令输入即可更新。

cmd使用如下命令,验证requests库安装完成。

pip list

如何进行基于pycharm的requests库使用

在pycharm中,点击file——settings——project——python interpreter——点击+号——搜索requests——install package!

如何进行基于pycharm的requests库使用

在你写的.py文件中,使用如下命令导入即可。

import requests

requests库的一个类型六个属性

import requestsurl = "https://www.baidu.com"response = requests.get(url=url)# 一个类型六个属性# 类型print(type(response))# 设置响应的编码格式response.encoding = 'utf-8'# 以字符串的形式返回网页的源码print(response.text)# 返回一个url地址print(response.url)# 返回的是二进制数据print(response.content)# 返回相应的状态码print(response.status_code)# 返回的响应头print(response.headers)

输出结果如下:

<class 'requests.models.Response'><!DOCTYPE html><!--STATUS OK--><html> <head><meta Http-equiv=content-type content=text/html;charset=utf-8><meta http-equiv=X-UA-Compatible content=IE=Edge><meta content=always name=referrer><link rel=stylesheet type=text/CSS href=https://ss1.bdstatic.com/5eN1bjq8AAUYm2zGoY3K/r/www/cache/bdorz/baidu.min.css><title>百度一下,你就知道</title></head> <body link=#0000cc> <div id=wrapper> <div id=head> <div class=head_wrapper> <div class=s_fORM> <div class=s_form_wrapper> <div id=lg> <img hidefocus=true src=//www.baidu.com/img/bd_logo1.png width=270 height=129> </div> <form id=form name=f action=//www.baidu.com/s class=fm> <input type=hidden name=bdorz_come value=1> <input type=hidden name=ie value=utf-8> <input type=hidden name=f value=8> <input type=hidden name=rsv_bp value=1> <input type=hidden name=rsv_idx value=1> <input type=hidden name=tn value=baidu><span class="bg s_ipt_wr"><input id=kw name=wd class=s_ipt value maxlength=255 autocomplete=off autofocus=autofocus></span><span class="bg s_btn_wr"><input type=submit id=su value=百度一下 class="bg s_btn" autofocus></span> </form> </div> </div> <div id=u1> <a href=http://news.baidu.com name=tj_trnews class=mnav>新闻</a> <a href=https://www.hao123.com name=tj_trhao123 class=mnav>hao123</a> <a href=http://map.baidu.com name=tj_trmap class=mnav>地图</a> <a href=http://v.baidu.com name=tj_trvideo class=mnav>视频</a> <a href=http://tieba.baidu.com name=tj_trtieba class=mnav>贴吧</a> <noscript> <a href=http://www.baidu.com/bdorz/login.gif?login&amp;tpl=mn&amp;u=http%3A%2F%2Fwww.baidu.com%2f%3fbdorz_come%3D1 name=tj_login class=lb>登录</a> </noscript> <script>document.write('<a href="http://www.baidu.com/bdorz/login.gif?login&tpl=mn&u='+ encodeURIComponent(window.location.href+ (window.location.search === "" ? "?" : "&")+ "bdorz_come=1")+ '" name="tj_login" class="lb">登录</a>');                </script> <a href=//www.baidu.com/more/ name=tj_briicon class=bri style="display: block;">更多产品</a> </div> </div> </div> <div id=ftCon> <div id=ftConw> <p id=lh> <a href=http://home.baidu.com>关于百度</a> <a href=http://ir.baidu.com>About Baidu</a> </p> <p id=cp>&copy;2017&nbsp;Baidu&nbsp;<a href=http://www.baidu.com/duty/>使用百度前必读</a>&nbsp; <a href=http://jianyi.baidu.com/ class=cp-feedback>意见反馈</a>&nbsp;京ICP证030173号&nbsp; <img src=//www.baidu.com/img/gs.gif> </p> </div> </div> </div> </body> </html>

如何进行基于pycharm的requests库使用

post一般是表单请求,如果你直接在百度搜一个东西,那是get请求奥!

requests库的get请求

首先将代码写出来,然后根据代码给大家将对应的知识点,算是入门

import requestsurl = "https://www.baidu.com/s?"headers = {    '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'}data = {    'wd': '北京'}# url请求路径 params参数 kwargs字典response = requests.get(url=url, params=data, headers=headers)# 参数使用params传递,且参数无需url encode编码 ,且参数也不需要对象定制,请求资源路径中的?可加可不加print(response.text)

如何进行基于pycharm的requests库使用

首先来看requests库的get方法使用及参数含义。

response = requests.get(url=url, params=data, headers=headers)

url表示请求路径,params表示参数,kwargs表示字典。

参数使用params传递,且参数无需url encode编码 ,且参数也不需要对象定制,请求资源路径中的?可加可不加。

下面演示一下,这三个参数怎么传递。

接下来的讲解,学过前端的应该都知道怎么弄吧?

右键检查&mdash;&mdash;选择如下&mdash;&mdash;然后刷新

这个地方是我们请求的url!

如何进行基于pycharm的requests库使用

这个地方是我们传递的数据params!

可能很多人会找From Data,这个地方应该是PayLoad,注意一下!

如何进行基于pycharm的requests库使用

这个地方是我们传递的字典!

选择下面的user agent,其中有我们的浏览器相关信息。

如何进行基于pycharm的requests库使用

在上述中,应该注意,由于get的后两个其实都是用Python中的字典的形式存储的,所以获取数据后,注意一下格式。

我们来看看有没有数据,可以在输出地方,使用ctrl + f来搜索验证我们想要的内容在不在。

如何进行基于pycharm的requests库使用

requests库的post请求

首先将代码写出来,然后根据代码给大家将对应的知识点,算是入门。

import requestsurl = "https://fanyi.baidu.com/sug"headers = {    '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'}data = {    'kw': 'eye'}# url请求路径 data请求参数 kwargs字典response = requests.post(url=url, data=data, headers=headers)# 参数使用data传递,且参数无需url encode编码 ,且参数也不需要对象定制print(response.text)

输出结果:

{"errno":0,"data":[{"k":"eye","v":"n. \u773c\u775b; \u89c6\u529b; \u773c\u72b6\u7269; \u98ce\u7eaa\u6263\u6263\u773c vt. \u5b9a\u775b\u5730\u770b; \u6ce8\u89c6; \u5ba1\u89c6; \u7ec6\u770b"},{"k":"Eye","v":"[\u4eba\u540d] \u827e; [\u5730\u540d] [\u82f1\u56fd] \u827e\u4f0a"},{"k":"EYE","v":"abbr. European Year of the Environment \u6b27\u6d32\u73af\u5883\u5e74; Iwas"},{"k":"eyed","v":"adj. \u6709\u773c\u7684"},{"k":"eyer","v":"n. \u6ce8\u89c6\u7684\u4eba"}]}

首先来看requests库的post方法使用及参数含义。

response = requests.post(url=url, data=data, headers=headers)

这里的参数和get方法还有点不同,我们想看详细的话可以这样看,在pycharm中选中方法,即可看到提示。

如何进行基于pycharm的requests库使用

url表示的是请求路径,data表示的是请求参数,kwargs表示的是字典。

其实难点在于怎么找这个url奥!!即哪一个是我们想要的url!!下面以百度翻译为例!!

如何进行基于pycharm的requests库使用

我圈起来的这些地方,一定要注意,选中Preserve log!!

就在左边的Name中找,如果其对应的这个PayLoad中的kw和我们搜索的一致,那就是的啦!!!

第二步,可能返回的数据我们也看不懂,那就转换成JSON的格式来看就行啦!!

import requestsimport jsonurl = "https://fanyi.baidu.com/sug"headers = {    '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'}data = {    'kw': 'eye'}# url请求路径 data请求参数 kwargs字典response = requests.post(url=url, data=data, headers=headers)obj = json.loads(response.text, encoding='utf-8')print(obj)

输出结果:

{'errno': 0, 'data': [{'k': 'eye', 'v': 'n. 眼睛; 视力; 眼状物; 风纪扣扣眼 vt. 定睛地看; 注视; 审视; 细看'}, {'k': 'Eye', 'v': '[人名] 艾; [地名] [英国] 艾伊'}, {'k': 'EYE', 'v': 'abbr. European Year of the Environment 欧洲环境年; Iwas'}, {'k': 'eyed', 'v': 'adj. 有眼的'}, {'k': 'eyer', 'v': 'n. 注视的人'}]}

requests库的代理

代理主要处理的是,我们在模拟浏览器给服务器发送请求的时候,我们高速的快速的高频次的访问某个网站,那样的话网站会崩溃的,所以会把我们的ip封掉,那我们怎么办呢?换ip地址就好啦!

import requestsurl = "https://www.baidu.com/s?"headers = {    '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'}data = {    'wd': 'ip'}response = requests.get(url=url, params=data, headers=headers)with open('daili.html', 'w', encoding='utf-8') as fp:    fp.write(response.text)

就会发现写了这个文件!

如何进行基于pycharm的requests库使用

如何进行基于pycharm的requests库使用

requests库的cookie

我们是以古诗文网为例!

我们现在想要实现的功能就是,不用登录,直接进入内部的页面。

# 通过登录进入主页面# 通过找登录接口 我们发现需要的参数很多"""__VIEWSTATE: 9Y4yHRQS2k2z739MJJ/8Z0sKfZNltkFId83Z8jCtY3g00xYgg9bsv5oK+KT5DypNl37KWa0IyB+uOwrRPBvTybqGLDDD0chyrWLxhhlHBeAGWL/SLTGYfOh6L1M=__VIEWSTATEGENERATOR: C93BE1AEfrom: http://so.gushiwen.cn/user/collect.aspxemail: 13237153218pwd: wxm20010428code: PDBGdenglu: 登录"""# 我们观察到__VIEWSTATE __VIEWSTATEGENERATOR code是一个可以变化的量# __VIEWSTATE __VIEWSTATEGENERATOR 看不到的数据一般都是在页面的源码中# 我们观察到其在页面源码中 所以我们需要获取页面源码 然后进行解析就可以获取了# code是验证码import requests# 登录url页面url = 'https://so.gushiwen.cn/user/login.aspx?from=http://so.gushiwen.cn/user/collect.aspx'headers = {    '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(url=url, headers=headers)# print(response.text)# 解析页面源码 然后获取__VIEWSTATE __VIEWSTATEGENERATORfrom bs4 import BeautifulSoupsoup = BeautifulSoup(response.text, 'lxml')# 获取__VIEWSTATEviewstate = soup.select('#__VIEWSTATE')[0].attrs.get('value')# 获取__VIEWSTATEGENERATORviewstategenerator = soup.select('#__VIEWSTATEGENERATOR')[0].attrs.get('value')# print(viewstate)# print(viewstategenerator)# 获取验证码图片code = soup.select('#imGCode')[0].attrs.get('src')# print(code)code_url = 'https://so.gushiwen.cn' + code# print(code_url)# 获取验证码的图片后 下载到本地 然后观察验证码 观察之后 然后在控制台输入这个验证码 就将这个值给code# 怎么下载???# import urllib.request# 此处和后面的请求不是同一个请求 验证码就变了# urllib.request.urlretrieve(url=code_url, filename='code.jpg')# request里面有一个方法session() 通过session的返回值就能使请求变成一个对象session = requests.session()response_code = session.get(code_url)# 注意此处使用二进制数据 因为我们要是图片的下载content_code = response_code.contentwith open('code.jpg', 'wb') as fp:    fp.write(content_code)code_name = input('请输入验证码:')# 点击登录url_post = 'https://so.gushiwen.cn/user/login.aspx?from=http%3a%2f%2fso.gushiwen.cn%2fuser%2fcollect.aspx'data_post = {    '__VIEWSTATE': viewstate,    '__VIEWSTATEGENERATOR': viewstategenerator,    'from': 'http://so.gushiwen.cn/user/collect.aspx',    'email': '13237153218',    'pwd': 'wxm20010428',    'code': code_name,    'denglu': '登录',}response_post = session.post(url=url_post, headers=headers, data=data_post)with open('gushiwen.html', 'w', encoding='utf-8') as fp:    fp.write(response_post.text)

首先我们打开这个古诗文网的登录页面(假设已经都注册过了),现在我们要输入正确的账号,错误的密码,正确的验证码,点击登录,但是在提示后不要点击确定,否则页面会跳转,然后抓到这个登录所需要的参数。

如何进行基于pycharm的requests库使用

观察参数后,先找到变化的参数,再试图去获取变化的参数,而且一般这种看不见的参数,一般就是在源码中,我们点击查看源码,然后ctrl+F搜索看不见的参数,找到其位置。

然后我们模拟浏览器给服务器发送请求,获取网页源代码后,使用bs4解析源代码,然后相应变化的参数后,再发送请求即可!

如何进行基于pycharm的requests库使用

此处会生成两个文件,并且code.jpg,在运行的时候如果加载不出来,那就去项目的文件夹中查找。

自动识别验证码

超级鹰!下载python开发文档,并且将.py和一个图片复制到项目中!

如何进行基于pycharm的requests库使用

打开后,看一下.py文件,更改用户名和密码上去!

如何进行基于pycharm的requests库使用

根据其中的提示更改这个用户ID

如何进行基于pycharm的requests库使用

但是由于我没有充钱,没给我返回哈哈哈哈哈!

如何进行基于pycharm的requests库使用

上述内容就是如何进行基于pycharm的requests库使用,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注编程网精选频道。

--结束END--

本文标题: 如何进行基于pycharm的requests库使用

本文链接: https://www.lsjlt.com/news/307145.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何进行基于pycharm的requests库使用
    本篇文章为大家展示了如何进行基于pycharm的requests库使用,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。requests库安装和导入cmd打开命令行,使用如下命令安装requests库。...
    99+
    2023-06-26
  • 详解基于pycharm的requests库使用教程
    目录requests库安装和导入requests库的get请求requests库的post请求requests库的代理requests库的cookie自动识别验证码requests库...
    99+
    2024-04-02
  • 基于pycharm的beautifulsoup4库使用方法教程
    1.beautifulsoup4库安装 第一步:在控制台输入如下命令,安装beautifulsoup4库。 pip install beautifulsoup4 第三步:在py...
    99+
    2024-04-02
  • 如何使用Pycharm进行Python开
    如何使用Pycharm进行Python开发   开发Python的IDE有很多,比如Sublime text3, eclipse等,作为数聚传媒的研发人员,我最喜欢的还是使用Pycharm进行Python开发。下面我简单介绍一下这款开发工具...
    99+
    2023-01-31
    如何使用 Pycharm Python
  • 基于pycharm的beautifulsoup4库怎么用
    这篇文章主要为大家展示了“基于pycharm的beautifulsoup4库怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“基于pycharm的beautifulsoup4库怎么用”这篇文章...
    99+
    2023-06-26
  • 如何进行vue3基于script setup语法$refs的使用
    如何进行vue3基于script setup语法$refs的使用,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。一、vue2语法vue2语法在组件上设置ref属性后...
    99+
    2023-06-22
  • 如何进行基于云服务器的mysql自建从库
    基于云服务器的mysql自建从库,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1、开启从库GTIDset global g...
    99+
    2024-04-02
  • Python爬虫Requests库如何使用
    本篇内容主要讲解“Python爬虫Requests库如何使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python爬虫Requests库如何使用”吧!1、安装 requests 库因为学习过...
    99+
    2023-07-06
  • 如何使用PyCharm进行代码格式化
    PyCharm是一款强大的Python集成开发环境(IDE),其代码美化工具可以帮助开发者规范代码风格、优化代码结构,提高代码可读性。本文将介绍PyCharm代码美化工具的使用方法,并...
    99+
    2024-02-25
    工具 pycharm 代码美化 代码可读性
  • Pycharm安装使用requests第三方库的详细教程
    本篇内容主要讲解“Pycharm安装使用requests第三方库的详细教程”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Pycharm安装使用requests第三方库的详细教程”吧!reques...
    99+
    2023-06-20
  • 基于python如何使用OpenCV进行物体轮廓排序
    小编给大家分享一下基于python如何使用OpenCV进行物体轮廓排序,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!1 引言在进行图像处理过程中,我们经常会遇到一些和物体轮廓相关的操作,比如求目标轮廓的周长面积等,我们直接...
    99+
    2023-06-22
  • 详解PyCharm使用pyQT5进行GUI开发的基本流程
    目录一、环境安装1、安装Pycharm2、安装pyQT53、创建工程二、配置扩展工具 1、配置Qt Designer2、配置转换工具三、GUI设计1、打开Qt Design...
    99+
    2024-04-02
  • 如何用pycharm进行远程开发
    用pycharm进行远程开发的步骤:1、配置远程服务器信息;2、连接远程服务器;3、部署项目到远程服务器;4、在远程服务器上运行和调试代码。详细介绍:1、配置远程服务器信息,打开PyCharm,进入“File”菜单,选择“Settings”...
    99+
    2023-12-09
    pycharm 远程开发
  • Python网络爬虫requests库如何使用
    这篇文章主要讲解了“Python网络爬虫requests库如何使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python网络爬虫requests库如何使用”吧!1. 什么是网络爬虫简单来...
    99+
    2023-07-06
  • 教你Pycharm安装使用requests第三方库的详细教程
    request库是python的第三方库,它也是目前公认的爬取网页最好的第三方库,其特点是:简单、简洁,甚至用一行代码就能从网页上获取相关资源。 安装python: 首先进入网站下载...
    99+
    2024-04-02
  • Hive中如何基于成本进行优化
    小编给大家分享一下Hive中如何基于成本进行优化,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!基于成本的优化Hive在提交最终执行之前会优化每个查询的逻辑和物理执...
    99+
    2023-06-04
  • 如何使用Spark Streaming SQL基于时间窗口进行数据统计
    这篇文章主要介绍“如何使用Spark Streaming SQL基于时间窗口进行数据统计”,在日常操作中,相信很多人在如何使用Spark Streaming SQL基于时间窗口进行数据统计问题上存在疑惑,小编查阅了各式资料,整理出简单好用的...
    99+
    2023-06-19
  • pycharm debug怎么使用 pycharm进行debug调试的教程
    首先打开pycharm软件,导入一个项目,如下图所示 接着打开一个python文件,在要debug的地方添加一个断点,如下图所示 然后点击顶部的Run菜单,选择Debug选项,如下图...
    99+
    2024-05-10
    python pycharm
  • PHP中如何进行基于移动设备的应用开发?
    随着移动设备的普及以及移动互联网的快速发展,基于移动设备的应用开发已成为一个热门话题。PHP是目前应用范围广泛的服务器端脚本语言之一,开发人员也可以通过PHP来进行基于移动设备的应用开发。本文将从以下几个方面介绍PHP如何进行基于移动设备的...
    99+
    2023-05-22
    移动应用开发 PHP移动开发 PHP响应式设计
  • 如何进行Spring3基于Annotation的依赖注入实现
    这篇文章给大家介绍如何进行Spring3基于Annotation的依赖注入实现,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。简介: Spring 的依赖配置方式与 Spring 框架的内核自身是松耦合设计的。然而,直到...
    99+
    2023-06-17
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作