Viele Sprachen können crawlen, aber Crawler, die auf Python basieren, sind prägnanter und bequemer. Crawler sind auch zu einem wesentlichen Bestandteil der Python-Sprache geworden. Es gibt viele Möglichkeiten für Crawler, Daten zu analysieren. Im vorherigen Artikel habe ich Ihnen Welche Art von Daten können Crawler erhalten und welche spezifischen Analysemethoden es gibt, In diesem Artikel erfahren Sie, wie Sie JSON analysieren.
JSON
json ist einfach ein Objekt und ein Array in JavaScript, daher sind diese beiden Strukturen Objekte und Arrays Struktur, durch Mit diesen beiden Strukturen können verschiedene komplexe Strukturen dargestellt werden.
Objekt:
Das Objekt wird in js als von { } eingeschlossener Inhalt dargestellt und die Datenstruktur ist { Schlüssel: Wert, Schlüssel: Wert, ... } Die Struktur von Schlüssel-Wert-Paaren ist der Schlüssel das Attribut des Objekts und der Wert der entsprechende Attributwert. Daher ist es leicht zu verstehen, dass die Wertmethode object.key ist Der Typ dieses Attributwerts kann eine Zahl, ein String, ein Array oder ein Objekt sein.
Array:
Array in js ist der in eckige Klammern [] eingeschlossene Inhalt und die Datenstruktur ist ["Python", "Javascript", "C++" , ...], die Methode zur Werterfassung ist die gleiche wie in allen Sprachen. Zum Abrufen wird der Index verwendet. Der Typ des Feldwerts kann aus Zahlen, Zeichenfolgen, Arrays und Objekten bestehen.
JSON (JavaScript Object Notation) ist ein leichtes Datenaustauschformat, das Menschen das Lesen und Schreiben erleichtert. Es erleichtert auch die maschinelle Analyse und Generierung. Es eignet sich für Dateninteraktionsszenarien, beispielsweise für die Dateninteraktion zwischen dem Front- und Backend einer Website.
import json def resolveJson(path): file = open(path, "rb") fileJson = json.load(file) field = fileJson["field"] futures = fileJson["futures"] type = fileJson["type"] name = fileJson["name"] time = fileJson["time"] return (field, futures, type, name, time) def output(): result = resolveJson(path) print(result) for x in result: for y in x: print(y) path = r"C:\Users\dell\Desktop\kt\test.json" output()
Beachten Sie, dass die Funktion, wenn sie mehrere Werte zurückgibt, ein Tupel zurückgibt.
Beim Durchführen einer for-Schleife für eine Zeichenfolge wird jedes Zeichen durchlaufen
Python JSON
In diesem Kapitel stellen wir vor, wie Sie die Python-Sprache zum Kodieren und Dekodieren von JSON-Objekten verwenden.
JSON (JavaScript Object Notation) ist ein leichtes Datenaustauschformat, das für Menschen leicht zu lesen und zu schreiben ist.
JSON-Funktion
Die Verwendung der JSON-Funktion erfordert den Import der JSON-Bibliothek: JSON importieren. Die Funktion
dekodieren die codierte JSON -String in ein Python -Objekt
json.dumps
json.dumps werden verwendet, um Python -Objekte in in Intellose zu codieren JSON-Strings.
json.dumps(obj, skipkeys=False, secure_ascii=True, check_circular=True,allow_nan=True, cls=None, indent=None, Separatoren =Keine, Kodierung="utf-8", Standard=Keine, sort_keys=False, **kw)
BeispielDas folgende Beispiel kodiert das Array in JSON Daten formatieren: #!/usr/bin/python
import json
data = [ { 'a' : 1, 'b' : 2, 'c' : 3, 'd' : 4, 'e' : 5 } ]
json = json.dumps(data)
print json
[{"a": 1, "c": 3, "b": 2, "e": 5, "d": 4}]
Verwenden Sie Parameter, um JSON-Daten für die Ausgabe zu formatieren:
>>> import json >>> print json.dumps({'a': 'Runoob', 'b': 7}, sort_keys=True, indent=4, separators=(',', ': ')) { "a": "Runoob", "b": 7 }
None null
json.loads
json.loads 用于解码 JSON 数据。该函数返回 Python 字段的数据类型。
语法
json.loads(s[, encoding[, cls[, object_hook[, parse_float[, parse_int[, parse_constant[, object_pairs_hook[, **kw]]]]]]]])
实例
以下实例展示了Python 如何解码 JSON 对象:
<pre class="brush:php;toolbar:false"> #!/usr/bin/python import json jsonData = '{"a":1,"b":2,"c":3,"d":4,"e":5}'; text = json.loads(jsonData) print text
以上代码执行结果为:
{u'a': 1, u'c': 3, u'b': 2, u'e': 5, u'd': 4}
json 类型转换到 python 的类型对照表:
JSON Python
object dict
array list
string unicode
number (int) int, long
number (real) float
true True
false False
null None
使用第三方库:Demjson
Demjson 是 python 的第三方模块库,可用于编码和解码 JSON 数据,包含了 JSONLint 的格式化及校验功能。
Github 地址:https://github.com/dmeranda/demjson
官方地址:http://deron.meranda.us/python/demjson/
环境配置
在使用 Demjson 编码或解码 JSON 数据前,我们需要先安装 Demjson 模块。本教程我们会下载 Demjson 并安装:
$ tar -xvzf demjson-2.2.3.tar.gz $ cd demjson-2.2.3 $ python setup.py install
JSON 函数
函数 描述
encode 将 Python 对象编码成 JSON 字符串
decode 将已编码的 JSON 字符串解码为 Python 对象
encode
Python encode() 函数用于将 Python 对象编码成 JSON 字符串。
语法
demjson.encode(self, obj, nest_level=0)
实例
以下实例将数组编码为 JSON 格式数据:
<pre class="brush:php;toolbar:false"> #!/usr/bin/python import demjson data = [ { 'a' : 1, 'b' : 2, 'c' : 3, 'd' : 4, 'e' : 5 } ] json = demjson.encode(data) print json
以上代码执行结果为:
[{"a":1,"b":2,"c":3,"d":4,"e":5}]
decode
Python 可以使用 demjson.decode() 函数解码 JSON 数据。该函数返回 Python 字段的数据类型。
语法
demjson.decode(self, txt)
实例
以下实例展示了Python 如何解码 JSON 对象:
<pre class="brush:php;toolbar:false"> #!/usr/bin/python import demjson json = '{"a":1,"b":2,"c":3,"d":4,"e":5}'; text = demjson.decode(json) print text
以上代码执行结果为:
{u'a': 1, u'c': 3, u'b': 2, u'e': 5, u'd': 4}
Das obige ist der detaillierte Inhalt vonCrawler-Parsing-Methode 1: JOSN-Parsing. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!