0

所以我目前正在使用 Python 中的 Shodan 使用import shodan. 周围的文档不是最好的,所以我想我会在这里提出我的问题。

使用 Shodan CLI 有一个命令,Shodan Info它显示您的帐户剩余的搜索积分数。

在查看Shodan 文档时,我可以看到有一个info()标签,但每当我使用它时,都会出现错误。

有谁知道在 python 脚本中使用 info 来显示帐户的信用数的正确语法?

我收到的错误:

ipinfo = shodan.info()
print (ipinfo)

错误

Traceback (most recent call last):
File "C:/Users/XXXX/OneDrive - XXXX/Documents/XX Documents/XXXX/Working 
                                             Segments/ShodanScraper.py", line 8, in <module>
ipinfo = shodan.info()
AttributeError: module 'shodan' has no attribute 'info'

ipinfo = shodan.Shodan(info())
print (ipinfo)

错误

Traceback (most recent call last):
File "C:/Users/XXXX/OneDrive - XXXX/Documents/XXXXDocuments/XXXXXX/Working 
                                             Segments/ShodanScraper.py", line 8, in <module>
ipinfo = shodan.Shodan(info())
NameError: name 'info' is not defined
4

2 回答 2

1

您需要实例化Shodan该类,然后才能使用它的Shodan.info()方法。这是它在官方命令行界面中的外观:

https://github.com/achillean/shodan-python/blob/master/shodan/__main__.py#L364

这是一个打印当前帐户使用信息的简短脚本:

import pprint
import shodan

key = 'YOUR API KEY'
api = shodan.Shodan(key)
results = api.info()
pprint.pprint(results)
于 2020-07-28T16:53:12.453 回答
0

shodan 没有说明如何使用信息。下面是如何设置 shodan 信息的简要示例

import shodan
api = shodan.Shodan('YOUR API KEY')

info = api.host('8.8.8.8')
shodan info
于 2020-07-28T08:23:49.807 回答