我們在開發爬蟲的過程中,經常發現有一些網站,會直接把數據放到HTML中的<script>標簽里面。這些數據長得有點像JSON,但又有差異,如下圖所示:
圖片
這種格式,我們叫做JavaScript Object。長得很像Python的字典,又很像是JSON。但是這個格式在Python里面,無論直接當字典解析,還是當JSON解析,都會報錯,如下圖所示:
圖片
遇到這種情況,有同學準備使用正則表達式來解析,又有同學直接放棄。
但實際上,這種數據結構,使用Yaml是可以直接解析成Python的字典。我們首先來安裝一下Yaml:
pip install pyyaml
然后直接像解析JSON一樣解析:
import yamldata = '''{ name: '青南', salary: 999999999, address: '上海', pro: true}'''info = yaml.safe_load(data)
運行效果如下圖所示,已經直接解析成了Python的字典:
圖片
Yaml格式是JSON格式的超集,因此,使用pyyaml庫也能直接解析正常的JSON:
圖片
甚至各種復雜的混合格式也能正常解析:
圖片
本文鏈接:http://www.tebozhan.com/showinfo-26-15576-0.html一日一技:爬蟲如何解析JavaScript Object?
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com
上一篇: 開始學習Go編程