0

我需要使用 shodan API 执行 BULK whois 查询。

我遇到了这段代码

import shodan
api = shodan.Shodan('inserted my API-KEY- within single quotes')
info = api.host('8.8.8.8')

运行模块后,我收到以下错误:

回溯(最后一次调用):
文件“C:/Users/PIPY/AppData/Local/Programs/Python/Python37/dam.py”,第 1 行,在
import shodan
文件“C:/Users/PIPY/AppData/Local /Programs/Python/Python37\shodan.py", line 2, in
api = shodan.Shodan('the above inserted API KEY')
AttributeError: module 'shodan' has no attribute 'Shodan'

我正在学习 python,并且脚本/编程经验有限。

你能帮帮我吗?

干杯

4

3 回答 3

3

你似乎有dam.py- shodan.pyPython 默认从模块目录导入,所以安装的shodan包被屏蔽了。

尝试重命名shodan.py为 eg shodan_test.py(当然还要修复任何导入等)。

于 2019-09-12T12:32:58.833 回答
0

我通过在 C:\Users\PIPY\AppData\Local\Programs\Python\Python37\Scripts>pip install shodan 下重新安装 shodan 模块解决了这个问题

谢谢AKX的帮助。

于 2019-09-12T14:41:59.270 回答
0

我遇到了同样的问题,但是在将我的文件重命名为不同于 shodan.py 的文件后,我还必须删除已编译的类 shodan.pyc 以避免错误。

此外,如果您安装了多个版本的 python,即 python2 和 python3,请使用

python -m pip install shodan而不是pip install shodan, 以确保您将库安装在用于执行脚本的相同版本的 shodan 中。

如果您正在执行脚本,python3 shodan_test.py则使用python3 -m pip install shodan

于 2020-10-05T06:35:21.110 回答