您好,登錄后才能下訂單哦!
小編給大家分享一下Python爬蟲數據的分類及json數據用法示例,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
一般來講對我們而言,需要抓取的是某個網站或者某個應用的內容,提取有用的價值。內容一般分為三部分,結構化的數據、半結構化的數據和非機構化數據。
1.結構化數據:
可以用統一的結構加以表示的數據。可以使用關系型數據庫表示和存儲,表現為二維形式的數據,一般特點是:數據以行為單位,一行數據表示一個實體的信息,每一行的數據的屬性是相同的。
2.半結構化數據:
結構化數據的一種形式,并不符合關系型數據庫或其他數據表的形式關聯起來的數據模型結構,但包含相關標記,用來分隔語義元素以及對記錄和字段進行分層。因此他也被成為自描述的結構。常見的半結構數據有:html,xml和json等、實際上是以樹或者圖的結構來存儲的。
對于半結構化數據,節點中屬性的順序是不重要的,不同的半結構化數據的屬性的個數是不一樣的。這樣的數據格式,可以自由的表達很多有用的信息,包含自描述信息。所以半結構化數據的擴展性很好,特別適合于在互聯網中大規模傳播。
3.非結構化數據
就是沒有固定的結構。各種文檔,圖片,視頻或者音頻都屬于非結構化數據。對于這類數據,我們一般直接整體進行存儲,而且一般存儲為二進制形式。
json(JavaScript Object Notation,JS對象標記)是一種輕量級的數據交換格式。他基于ECMAScript(w3c制定的JS規范)的一個子集,采用完全獨立于編程語言的文本格式來存儲和表示數據。簡介和清晰的層次結構使得JSON成為理想的數據交換語言。
特點:易于閱讀、易于機器生成、有效提升網絡速度。
JSON語法規則:在JS語言中,一切都是對象。因此,任何支持的類型都可以通過json來表示。例如字符串、數字,對象,數組。
Js中對象和數組是比較特殊并且常用的兩種類型:
1.對象表示為鍵值對{name:'zhangsan',age:'7'}
2.數據有逗號分隔[1,2,3,4,5]
3.花括號保存對象
4.方括號保存數組。
js的對象就相當于python中的字典
js的數組就相當于Python中的列表
因為json用來存儲js的對象或者數組,所以在Python中我們可以將json轉化為list或者dict。
解析json的包json:
json.dumps(python的list或者dict)---->(返回值)---->json字符串。
json.loads(json字符串)------>(返回值)----->python的list或者dict.
json.dump(list/dict,fp)—>list,或者字典保存到json文件中。
json.load(fp)—>list/dict:從json文件中讀出json數據。
json鍵值對是用來保存js對象的一種方式,和js對象的寫法頁大同小異,比如:
{“firstName”:“Json”,“Class”:“aid1111”}等價于下面這條js語句:{firstName:“Json”,Class:“aid1111”}。
很多人搞不清楚json和js對象的關系,甚至誰是誰都不清楚。其實可以這么理解:【JSON是JS對象的字符串表達式,他使用文本形式表示一個JS對象的信息,本質是一個字符串。】
如var obj = {a:“hello”,b:“World”}這是一個js對象。注意,鍵名也是可以用引號包裹的var json = ' {“a”:“hello”,“b”:“World”}'這是一個json字符串,本質上是一個字符串。
JSON作為數據包格式傳輸的時候具有更高的效率,這是因為JSON不想xml那樣具有嚴格的閉合標簽,這就讓有效數據量與總數據包比大大提升,從而減少同等數據流量的情況下,網絡的傳輸的壓力大大減低。
看完了這篇文章,相信你對“Python爬蟲數據的分類及json數據用法示例”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。