ZoomEye-python icon indicating copy to clipboard operation
ZoomEye-python copied to clipboard

ZoomEye sdk.py _request

Open kaichenkai opened this issue 3 years ago • 3 comments

我有个问题: 我正在使用 zoomeye-python, 我有大概25w的标题, 需要通过zoomeye搜索标题对应的结果, 并储存. 我的伪代码如下: for { response = cli_zoomeye.request_data() response.save() }

在请求的过程中, sdk 导致程序退出, 不能让我一下子将内容搜索完成, 具体报错如下: "the access token expires, please re-run [zoomeye init] command. it is recommended to use API KEY for initialization!"

但是我的 api_key 貌似没有问题, 在命令行使用 zoomeye search 'title:"Scam List of Tor"' -type host -num 1 依然能够搜索.

进而在sdk.py _request 方法加入输出日志代码: # if response succeed and status code is not 200 return error format json # others error return unknown error # mainly users initialized by username and password, access token expires after 12 hours else: print(params) print('-'*20) print(resp.text) raise ValueError(resp.json().get('message'))

得到以下内部报错的输出: {'query': 'title:"Загрузка фотографии :: SECTUM"', 'page': 1, 'facets': 'app,device,service,os,port,country,city'} -------------------- {"error": "internal_error", "message": "internal error", "url": "https://www.zoomeye.org/api"}

推测是搜索内容, 引起了服务的内部错误, 导致程序退出.

请问有什么好的办法可以避免这个问题呢?

kaichenkai avatar May 13 '21 03:05 kaichenkai

1.您是否使用的是token验证,因为token验证是12小时有效期的。 2.如果您token和API-KEY都已经使用了,建议您删除token验证,因为您的数据量较大,可能12个小时不能导出完成和。

Rosschach avatar May 13 '21 08:05 Rosschach

1.您是否使用的是token验证,因为token验证是12小时有效期的。 2.如果您token和API-KEY都已经使用了,建议您删除token验证,因为您的数据量较大,可能12个小时不能导出完成和。

用的是 api-key 验证 我的疑问是, 我发这个请求, 不应该导致服务内部错误, 而退出程序.

kaichenkai avatar May 13 '21 13:05 kaichenkai

由于无法复现您的问题,给予您以下建议:

  1. 您可以使用zoomeye的原生接口尝试一下,在zoomeye的搜索界面可以帮助您生成查询URL。
  2. 或者使用zoomeye搜索界面的数据导出功能,可以帮助您将数据导出到csv或者json文件中。 祝好。

Rosschach avatar May 14 '21 08:05 Rosschach