閑來(lái)無(wú)事,想要學(xué)習(xí)一下Python,十月初的時(shí)候搭好了ubuntu的環(huán)境,用的是Ubuntu 16.04 32位+sublime Text3,輕量級(jí)的編程環(huán)境,感覺用起來(lái)還是比較舒服的。也陸陸續(xù)續(xù)地學(xué)習(xí)了一下python的語(yǔ)法和相關(guān)的知識(shí)點(diǎn),并沒有感覺到python有什么特別的地方,數(shù)據(jù)結(jié)構(gòu)中的列表,元組和字典,還沒有感到其特點(diǎn)在哪里比較明顯,只是一個(gè)數(shù)據(jù)結(jié)構(gòu)而已。恰好學(xué)院老師讓搜集就業(yè)相關(guān)信息,所以就想嘗試去先寫一個(gè)爬蟲,爬一下相關(guān)網(wǎng)站的相關(guān)鏈接。先提起興趣,再去學(xué)習(xí)枯燥的知識(shí)點(diǎn)。

  一開始以為會(huì)是很大的工程量,周五下午回到宿舍就開始查相關(guān)資料,看了一下鏈接,先Mark一下:汪海的實(shí)驗(yàn)室,很多筆記,感覺應(yīng)該專業(yè)人士,而且很巧也是山大畢業(yè)的。看到了一個(gè)比較簡(jiǎn)單的教程,利用審查元素和一個(gè)python的requests模塊發(fā)送請(qǐng)求,然后利用pyquery模塊來(lái)解析數(shù)據(jù)。當(dāng)然,具體的jquery語(yǔ)法是什么樣的我還是不清楚的=,=。教程中大體的思路就是在審查元素中,先定位自己想要爬取信息的位置,找到div的id,再找到具體的標(biāo)簽,然后就獲取到了標(biāo)題。當(dāng)然獲取的是一個(gè)列表數(shù)據(jù),不僅僅可以找出標(biāo)題,也可以提取出來(lái)鏈接。具體代碼和效果如下圖所示:

iOS培訓(xùn),Swift培訓(xùn),蘋果開發(fā)培訓(xùn),移動(dòng)開發(fā)培訓(xùn)

iOS培訓(xùn),Swift培訓(xùn),蘋果開發(fā)培訓(xùn),移動(dòng)開發(fā)培訓(xùn)

  當(dāng)然,和教程還是有一點(diǎn)不一樣的,教程中是先定位了模塊的id,但是我們學(xué)校的就業(yè)信息網(wǎng)列表那里并沒有模塊的id,所以嘗試直接取獲取鏈接文本所在模塊的信息。獲取得到的內(nèi)容除了我想要的東西意外還有奇奇怪怪的東西,后來(lái)查了一下模塊的id是唯一的,但是模塊下的子名字是可以重復(fù)的,因?yàn)楂@取的是列表,并且信息的格式基本上是固定的,所以直接獲取列表的一個(gè)子表就可以了,當(dāng)然=,=不懂html的我是不了解具體原因的。。

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