本文給出使用一個(gè)用cheerio模塊提取html文件中指定內(nèi)容的例子,并說明具體步驟、涉及到的API、以及其它模塊。 cheerio模塊是一個(gè)類似jquery的模塊,具有相似的API、功能,能夠?qū)⒁粋€(gè)網(wǎng)頁解析為DOM,以及通過selector選擇元素,設(shè)置、獲取元素屬性。

以下為我們待解析網(wǎng)頁截圖: 

 Android培訓(xùn),安卓培訓(xùn),手機(jī)開發(fā)培訓(xùn),移動(dòng)開發(fā)培訓(xùn),云培訓(xùn)培訓(xùn)

目標(biāo)是將task1-5中的所有題目、以及答案提取出來,以文本形式保存。最終提取出的效果如下。 這是題目文本:

Task 1: You will be given 10 minutes to read the text for the first time and then choose an appropriate answer for each of the following questions.

1. What’s the passage mainly about?
A. How to learn online successfully.
B. How to set up a learning goal.
C. The future of online learning.
D. The benefits of online learning.

...

這是答案文本:

Task 1:
1. D
2. C
3. C
4. D
5. A

注:其中答案保存在網(wǎng)頁中,但在網(wǎng)頁中沒有顯示出來。

1.1 找到目標(biāo)元素

提取問題文本的整體思路:先找到包含題目的所有元素,然后再獲取這些元素的內(nèi)容即可。 通過chrome的devtool(或者firefox的firebug)看出,所有的目標(biāo)元素為:hr元素的所有兄弟結(jié)點(diǎn)。cheerio的nextAll函數(shù)滿足需求,這個(gè)函數(shù)獲取當(dāng)前結(jié)點(diǎn)的所有后續(xù)的兄弟結(jié)點(diǎn)。程序如下:

 

Android培訓(xùn),安卓培訓(xùn),手機(jī)開發(fā)培訓(xùn),移動(dòng)開發(fā)培訓(xùn),云培訓(xùn)培訓(xùn)

網(wǎng)友評(píng)論