Heim  >  Artikel  >  Backend-Entwicklung  >  Crawler-Parsing-Methode 1: JOSN-Parsing

Crawler-Parsing-Methode 1: JOSN-Parsing

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼nach vorne
2019-06-05 11:14:324871Durchsuche

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()

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

[{"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
}

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]]]]]]]])

实例

以下实例展示了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

以上代码执行结果为:

{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}

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 = [ { &#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

以上代码执行结果为:

[{"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 = &#39;{"a":1,"b":2,"c":3,"d":4,"e":5}&#39;;
text = demjson.decode(json)
print  text

以上代码执行结果为:

{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}

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen