私はPythonラッパーを使ってOnionscan Scraperを構築するときにtutorialの後に最近Onionscanを試しました。チュートリアルが書かれて以来、OnionscanはJSONファイルのすべてのデータの保存から、Tiedotを使用して構築されたデータベースへの保存まで移行しました。Pythonを使用してOnionscanから生の(バイナリ?)Tiedot(NOSQL/JSON)データを読む
私は拡張子を持たないファイルのうち、単にdat_0
という名前をつけてPythonを使って解析する方法を見つけようとしています。私は、次を得るMacOSのテキストエディットでdat_0
を見ると
...として、それを表示する一方で、私は、このファイルを解析する方法をうまくしようとしていますPythonを使って私はTiedotのドキュメントとTexteditを介してJSON構造体を使用していると見ていますが、私はあまり運がありませんでした。
import json
f = open('crawls/dat_0','rb')
data = json.dumps(f.read())
IOPub data rate exceeded.
The notebook server will temporarily stop sending output
to the client in order to avoid crashing it.
To change this limit, set the config variable
`--NotebookApp.iopub_data_rate_limit`.
または
data = json.loads(f.read())
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-5-21c335a72c11> in <module>()
----> 1 data = json.loads(f)
/Users/James/anaconda/lib/python3.5/json/__init__.py in loads(s, encoding, cls, object_hook, parse_float, parse_int, parse_constant, object_pairs_hook, **kw)
310 if not isinstance(s, str):
311 raise TypeError('the JSON object must be str, not {!r}'.format(
--> 312 s.__class__.__name__))
313 if s.startswith(u'\ufeff'):
314 raise JSONDecodeError("Unexpected UTF-8 BOM (decode using utf-8-sig)",
TypeError: the JSON object must be str, not 'bytes'
... a)は、このファイルが何であるか、誰を知っていますか? b)データをPythonで使用できるようにするために、どのように解析したらよいか知っていますか?
なぜ、あなたの質問に行くタグがある...言語の多数のためのパーサーを作成することができますか?あなたはPythonでヘルプのヘルプを要求している、OnionScanはGoで書かれているという事実はあなたの問題に関連していません。 –
@WilliamPoussier私が解析しようとしているデータが、Tiedotを使用して作成されたGoコミュニティの標準的なフォーマットであるかどうかは完全にはわかりませんでした。もしそれがあれば、Goに精通している人はかなり早く認識されるだろうと思っていましたが、必ずしもPythonに精通している人ではありません。 –