request爬虫库的小坑

ops/2024/11/17 15:09:28/

今天在做爬虫的时候,想要请求一个json数据,

地址为:https://weibo.com/ajax/profile/info?uid=xxxxxxx
ID就自己去找一个哈。。。。本来这个应该是一个json数据,但是我的pycharm却返回了一个html,我百思不得其解,用apifox发现又是正常的,于是乎复制代码进行对比

我的代码:

import  requestsheaders = {"Cookie" :"xxxxxxxxxxxxxxxx","user-agent":"YYYYYYY"
}
reponse = requests.get("https://weibo.com/ajax/profile/info?uid=xxxx",headers)
print(reponse.text)

apifox的正确代码:

import requestsurl = "https://weibo.com/ajax/profile/info?uid=xxxx"
payload={}
files={}
headers = {'Cookie': 'xxxxxxxxxxxxxxxx','User-Agent': 'Apifox/1.0.0 (https://apifox.com)','Accept': '*/*','Host': 'weibo.com','Connection': 'keep-alive'
}
response = requests.request("GET", url, headers=headers, data=payload, files=files)
print(response.text)

 聪明的你,能看出来哪里不一样吗???

A.headers内容不对导致的

B.参数不对

C.请求的方法不对

D.lz的程序太臭了运行不出json

-----------------------

-----------------------

-----------------------

-----------------------

答案是B!!

headers之前实验过,是没问题的

requests.get()和requests.request('GET,xxxx)是一样的实现,实现如下

def get(url, params=None, **kwargs):r"""Sends a GET request.:param url: URL for the new :class:`Request` object.:param params: (optional) Dictionary, list of tuples or bytes to sendin the query string for the :class:`Request`.:param \*\*kwargs: Optional arguments that ``request`` takes.:return: :class:`Response <Response>` object:rtype: requests.Response"""return request("get", url, params=params, **kwargs)

 正确的写法应该是:

response = requests.get("https://weibo.com/ajax/profile/info?uid=6028381202",headers=headers)

不指定header,会被解释为params,艹


http://www.ppmy.cn/ops/134454.html

相关文章

Flink整合Hive、Mysql、Hbase、Kafka

注意&#xff1a;Flink整合Hive后&#xff0c;可以用Hive的库和表&#xff0c;以及Hive中的函数方法&#xff0c;但是Hive不能使用Flink sql 里面的表&#xff0c;因为Hive不能进行流处理 这里Flink整合Hive&#xff0c;是将Flink的元数据保存到Hive中&#xff0c;并使用hive,…

说说软件工程中的“协程”

在软件工程中&#xff0c;协程&#xff08;coroutine&#xff09;是一种程序运行的方式&#xff0c;可以理解成“协作的线程”或“协作的函数”。以下是对协程的详细解释&#xff1a; 一、协程的基本概念 定义&#xff1a;协程是一组序列化的子过程&#xff0c;用户能像指挥家…

数据结构C语言描述3(图文结合)--双链表、循环链表、约瑟夫环问题

前言 这个专栏将会用纯C实现常用的数据结构和简单的算法&#xff1b;有C基础即可跟着学习&#xff0c;代码均可运行&#xff1b;准备考研的也可跟着写&#xff0c;个人感觉&#xff0c;如果时间充裕&#xff0c;手写一遍比看书、刷题管用很多&#xff0c;这也是本人采用纯C语言…

Qt对话框与界面设计——常见的对话框

目录 QMessageBox - 提供不同类型的消息对话框 QFileDialog - 文件选择对话框 QColorDialog - 颜色选择对话框 QFontDialog - 字体选择对话框 QInputDialog - 输入对话框 QPrintDialog - 打印机选择对话框 QProgressDialog - 进度对话框 QMessageBox - 异常类型提示 QF…

IPv6路由基础

前言 IETF组织针对IPv6网络制定了路由协议OSPFv3 OSPFv3 ff02::5是为OSPFv3路由协议预留的IPv6组播地址 OSPFv3中的路由条目下一跳地址时链路本地地址. 运行OSPFv3的路由器使用物理接口的链路本地的单播地址为源地址来发送OSPF报文.相同链路上的路由器互相学习与之相连的其他…

【3D Slicer】的小白入门使用指南九

定量医学影像临床研究与实践 任务 定量成像教程 定量成像是从医学影像中提取定量测量的过程。 本教程基于两个定量成像的例子构建: - 形态学:缓慢生长肿瘤中的小体积变化 - 功能:鳞状细胞癌中的代谢活动 第1部分:使用变化跟踪模块测量脑膜瘤的小体积变化第2部分:使用PET标…

AI 编程编辑器和工具

以下是几款与 Cursor 类似的 AI 编程编辑器和工具&#xff0c;以及它们的主要特点和差异&#xff1a; 如果你指的是 Cursor 作为一个特定的 AI 编程编辑器&#xff0c;确实我在上一条回答中没有提到它。其实&#xff0c;Cursor 也是一款相对较新的 AI 编程编辑器&#xff0c;它…

vue3+element-plus==> el-form输入响应式失效踩坑!!!!!!!!!!

坑&#xff1a; 这个坑我是真没想到&#xff0c;找了半天原因... 一开始我是这样写的 <el-form :model"addForm" label-width"100px" ref"addForm"><!-- 表单内容 --> </el-form> 输入框根本输入不了东西&#xff0c;或者…