鱼C论坛

 找回密码
 立即注册
查看: 2845|回复: 9

一个执行API的简单程序没报错也没有返回值

[复制链接]
发表于 2020-11-2 22:24:11 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
代码如下:
  1. import requests

  2. #excute API and restore result
  3. url = 'https://api.github.com/search/repositories?q=language:python&sort=stars'
  4. r = requests.get(url)
  5. print("Status code:",r.status_code)

  6. #restore API feedback into a variable
  7. response_dict = r.json()

  8. #handle result
  9. print(response_dict.keys())
复制代码


按F5后弹出了C:\WINDOWS\SYSTEM32\cmd.exe窗口,可是啥都没有。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-11-3 09:19:26 | 显示全部楼层
  1. import requests

  2. # excute API and restore result
  3. url = 'https://api.github.com/search/repositories?q=language:python&sort=stars'
  4. headers = {'User-Agent': 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR '
  5.                          '2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; '
  6.                          'InfoPath.3)'}

  7. r = requests.get(url, headers=headers)
  8. print("Status code:", r.status_code)

  9. # restore API feedback into a variable
  10. response_dict = r.json()
  11. print(response_dict)
  12. # handle result
  13. print(response_dict.keys())
  14. r.close()
复制代码

你加个头 不然会认为你是爬虫拒绝你的
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-11-3 19:37:55 | 显示全部楼层
lirenbing01 发表于 2020-11-3 09:19
你加个头 不然会认为你是爬虫拒绝你的

还是有问题啊
  1. Traceback (most recent call last):
  2.   File "copy.py", line 1, in <module>
  3.     import requests
  4.   File "C:\Users\asus\AppData\Local\Programs\Python\Python38\lib\site-packages\requests\__init__.py", line 120, in <module>
  5.     from . import utils
  6.   File "C:\Users\asus\AppData\Local\Programs\Python\Python38\lib\site-packages\requests\utils.py", line 27, in <module>
  7.     from ._internal_utils import to_native_string
  8.   File "C:\Users\asus\AppData\Local\Programs\Python\Python38\lib\site-packages\requests\_internal_utils.py", line 11, in <module>
  9.     from .compat import is_py2, builtin_str, str
  10.   File "C:\Users\asus\AppData\Local\Programs\Python\Python38\lib\site-packages\requests\compat.py", line 60, in <module>
  11.     from http import cookiejar as cookielib
  12.   File "C:\Users\asus\AppData\Local\Programs\Python\Python38\lib\http\cookiejar.py", line 32, in <module>
  13.     import copy
  14.   File "C:\Users\asus\Desktop\python_work\copy.py", line 9, in <module>
  15.     r = requests.get(url, headers=headers)
  16. AttributeError: partially initialized module 'requests' has no attribute 'get' (most likely due to a circular import)
复制代码

我看得有点懵,第一句也报错了,这不是标准库吗;还有get函数,应该没问题才对啊
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-11-3 20:41:05 | 显示全部楼层
张图南 发表于 2020-11-3 19:37
还是有问题啊

我看得有点懵,第一句也报错了,这不是标准库吗;还有get函数,应该没问题才对啊

requests模块,你安装了吗 用pip list看一下
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-11-3 20:45:39 | 显示全部楼层
阿奇_o 发表于 2020-11-3 20:41
requests模块,你安装了吗 用pip list看一下

安装过了,2.24.0版本的
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-11-3 21:19:11 | 显示全部楼层
张图南 发表于 2020-11-3 20:45
安装过了,2.24.0版本的

难道你当前工作目录下有requests.py ?? 同名了,会优先当前的。。
而你这里自然没有定义get方法,有get方法的是pip安装的requests模块,而不是你自己的requests.py  

--参考了stackoverflow的回答,可能是这个原因

另外,我试了一下这个API链接,似乎要开VPN全局才能正常连上。。祝你好运吧
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-11-3 21:22:45 | 显示全部楼层
张图南 发表于 2020-11-3 20:45
安装过了,2.24.0版本的


参考sof网的回答,可能是你同名了,即当前工作目录下有一个叫requests.py的文件(模块)
即跟pip安装的requests模块 同名了,它优先使用当前的,所以找不到get方法
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-11-3 22:39:17 | 显示全部楼层
阿奇_o 发表于 2020-11-3 21:22
参考sof网的回答,可能是你同名了,即当前工作目录下有一个叫requests.py的文件(模块)
即跟pip安装 ...

我也看到过这样的回答,然而并没有重名的文件
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-11-4 20:09:21 | 显示全部楼层
假面的假面 发表于 2020-11-4 00:02
你这段代码保存的文件名可能跟某些类模块同名了。建议更换程序保存的文件名再试。

并没有
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-11-5 21:44:26 | 显示全部楼层
假面的假面 发表于 2020-11-4 20:31
你是用dos命令行方式直接运行的还是python自带的idle?经测试你的代码无问题。

我用编译器Geany运行的
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-29 04:06

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表