Crawler-Parsing-Methode 1: JOSN-Parsing

爱喝马黛茶的安东尼
Freigeben: 2019-06-05 14:36:14
nach vorne
4932 Leute haben es durchsucht

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.

Crawler-Parsing-Methode 1: JOSN-Parsing

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()
Nach dem Login kopieren

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.

Syntax

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)

Beispiel

Das 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
Nach dem Login kopieren
Das Ausführungsergebnis des obigen Codes ist:

[{"a": 1, "c": 3, "b": 2, "e": 5, "d": 4}]
Nach dem Login kopieren

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
}
Nach dem Login kopieren

Konvertierungsvergleich des Python-Originals Typ zu JSON-Typ Tabelle:


Python                                                                                                                                                                                   weil falsch

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]]]]]]]])
Nach dem Login kopieren

实例

以下实例展示了Python 如何解码 JSON 对象:

<pre class="brush:php;toolbar:false">
#!/usr/bin/python
import json
jsonData = &#39;{"a":1,"b":2,"c":3,"d":4,"e":5}&#39;;
text = json.loads(jsonData)
print text
Nach dem Login kopieren

以上代码执行结果为:

{u&#39;a&#39;: 1, u&#39;c&#39;: 3, u&#39;b&#39;: 2, u&#39;e&#39;: 5, u&#39;d&#39;: 4}
Nach dem Login kopieren
Nach dem Login kopieren

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
Nach dem Login kopieren

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 = [ { &#39;a&#39; : 1, &#39;b&#39; : 2, &#39;c&#39; : 3, &#39;d&#39; : 4, &#39;e&#39; : 5 } ]
json = demjson.encode(data)
print json
Nach dem Login kopieren

以上代码执行结果为:

[{"a":1,"b":2,"c":3,"d":4,"e":5}]
Nach dem Login kopieren


decode

Python 可以使用 demjson.decode() 函数解码 JSON 数据。该函数返回 Python 字段的数据类型。

语法

demjson.decode(self, txt)

实例

以下实例展示了Python 如何解码 JSON 对象:

<pre class="brush:php;toolbar:false">
#!/usr/bin/python
import demjson
json = &#39;{"a":1,"b":2,"c":3,"d":4,"e":5}&#39;;
text = demjson.decode(json)
print  text
Nach dem Login kopieren

以上代码执行结果为:

{u&#39;a&#39;: 1, u&#39;c&#39;: 3, u&#39;b&#39;: 2, u&#39;e&#39;: 5, u&#39;d&#39;: 4}
Nach dem Login kopieren
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:csdn.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage