從上一章節(jié)中,我們得知我們現(xiàn)在已經(jīng)得到了鏈接,下面我們就可以通過GET/POST方式發(fā)送請求,得到目標(biāo)網(wǎng)站的回應(yīng).然后根據(jù)返回的資源格式的不同,分門別類的采取對應(yīng)措施來解析取的數(shù)據(jù).絕大多數(shù)都是業(yè)界主流的html格式還有就是前面章節(jié)里提到的JSON。
首先我們來說說html.HTML作為如今網(wǎng)頁的基礎(chǔ),為互聯(lián)網(wǎng)發(fā)展做出了巨大的貢獻(xiàn).一般我們用來解析HTML是通過DOM來解析的.
HTML DOM是HTML Document Object Model(文檔對象模型)的縮寫,HTML DOM則是專門適用于HTML/XHTML的文檔對象模型。熟悉軟件開發(fā)的人員可以將HTML DOM理解為網(wǎng)頁的API。它將網(wǎng)頁中的各個元素都看作一個個對象,從而使網(wǎng)頁中的元素也可以被計(jì)算機(jī)語言獲取或者編輯。 例如Javascript就可以利用HTML DOM動態(tài)地修改網(wǎng)頁。而其他語言也都有類似的解析DOM包,比如golang的goquery,javascript的cheerio,python的BeautifulSouL.
而網(wǎng)絡(luò)世界除了HTML語言外,JSON也在為互聯(lián)網(wǎng)的繁榮貢獻(xiàn)自己的力量.JSON(JavaScript Object Notation)作為一種輕量級的數(shù)據(jù)交換格式.它基于 ECMAScript (w3c制定的js規(guī)范)的一個子集,采用完全獨(dú)立于編程語言的文本格式來存儲和表示數(shù)據(jù).為前后端交互數(shù)據(jù)來達(dá)到動態(tài)網(wǎng)頁的效果提供了一種易于人閱讀和編寫,同時也易于機(jī)器解析和生成的數(shù)據(jù)結(jié)構(gòu).
JSON結(jié)構(gòu)很通俗易懂,在得知JSON結(jié)構(gòu)后,可以很容易的從字符串里取出自己想要得到的數(shù)據(jù).各種語言也提供了很多第三方的json解析包,比如gjson(golang),JSON-js(Javascript)等等.