日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當(dāng)前位置:首頁 > 科技  > 軟件

一日一技:爬蟲如何解析JavaScript Object?

來源: 責(zé)編: 時(shí)間:2023-10-28 16:30:17 311觀看
導(dǎo)讀我們?cè)陂_發(fā)爬蟲的過程中,經(jīng)常發(fā)現(xiàn)有一些網(wǎng)站,會(huì)直接把數(shù)據(jù)放到HTML中的<script>標(biāo)簽里面。這些數(shù)據(jù)長(zhǎng)得有點(diǎn)像JSON,但又有差異,如下圖所示:圖片這種格式,我們叫做JavaScript Object。長(zhǎng)得很像Python的字典,又很像是JSON。但

我們?cè)陂_發(fā)爬蟲的過程中,經(jīng)常發(fā)現(xiàn)有一些網(wǎng)站,會(huì)直接把數(shù)據(jù)放到HTML中的<script>標(biāo)簽里面。這些數(shù)據(jù)長(zhǎng)得有點(diǎn)像JSON,但又有差異,如下圖所示:98G28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片98G28資訊網(wǎng)——每日最新資訊28at.com

這種格式,我們叫做JavaScript Object。長(zhǎng)得很像Python的字典,又很像是JSON。但是這個(gè)格式在Python里面,無論直接當(dāng)字典解析,還是當(dāng)JSON解析,都會(huì)報(bào)錯(cuò),如下圖所示:98G28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片98G28資訊網(wǎng)——每日最新資訊28at.com

遇到這種情況,有同學(xué)準(zhǔn)備使用正則表達(dá)式來解析,又有同學(xué)直接放棄。98G28資訊網(wǎng)——每日最新資訊28at.com

但實(shí)際上,這種數(shù)據(jù)結(jié)構(gòu),使用Yaml是可以直接解析成Python的字典。我們首先來安裝一下Yaml:98G28資訊網(wǎng)——每日最新資訊28at.com

pip install pyyaml

然后直接像解析JSON一樣解析:98G28資訊網(wǎng)——每日最新資訊28at.com

import yamldata = '''{    name: '青南',    salary: 999999999,    address: '上海',    pro: true}'''info = yaml.safe_load(data)

運(yùn)行效果如下圖所示,已經(jīng)直接解析成了Python的字典:98G28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片98G28資訊網(wǎng)——每日最新資訊28at.com

Yaml格式是JSON格式的超集,因此,使用pyyaml庫(kù)也能直接解析正常的JSON:98G28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片98G28資訊網(wǎng)——每日最新資訊28at.com

甚至各種復(fù)雜的混合格式也能正常解析:98G28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片圖片98G28資訊網(wǎng)——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-15576-0.html一日一技:爬蟲如何解析JavaScript Object?

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。郵件:2376512515@qq.com

上一篇: 開始學(xué)習(xí)Go編程

下一篇: Go的單元測(cè)試進(jìn)階:Mock與Stub的使用

標(biāo)簽:
  • 熱門焦點(diǎn)
Top 主站蜘蛛池模板: 尤溪县| 泽州县| 合水县| 施甸县| 新和县| 太谷县| 宜良县| 大厂| 吴堡县| 蒲城县| 蕲春县| 汝州市| 崇义县| 石台县| 岳普湖县| 保亭| 灵丘县| 安化县| 鹿泉市| 沂源县| 绍兴县| 长宁县| 罗源县| 成武县| 京山县| 隆子县| 贵南县| 沿河| 迁西县| 库车县| 乐至县| 定边县| 登封市| 江西省| 浦江县| 定兴县| 观塘区| 民勤县| 如皋市| 运城市| 上栗县|