首先,聲明:我是一個正在學習爬蟲的新手,請各位大佬,多多指教!
Hi , domo
爬蟲emmm,是一個很有趣的東西(目前,我是這樣認為的)
相信對于大多數像我一樣的新手沒有什麼經驗,對于網上的爬蟲教程卻又感到非常的複雜難懂。今天我來說一個比較簡單爬蟲方法。
工具:Python 3.x ,pycharm
庫:lxml、request
爬取的界面是;http://www.cug.edu.cn/index/ddyw.htm(地大要聞)
首先要做的是什麼呢?
對,當然是對頁面的解析(Ctrl+shift+C),
打開頁面,利用Ctrl+shift+C,你會得到這個

看到左邊的了麼?接下來右鍵點選copy Xpath,分析一下路徑
了解了路徑,接下來就開始提取我們要的内容了,首先是每條新聞的标題即li标簽下面的a标簽的内容,還有每條新聞的位址即a标簽的href屬性的内容。
話不多說,上代碼
建立一個函數,
def cugspider(url):
r = requests.get(url)
r.encoding = "utf-8"
htm = etree.HTML(r.text)
result = htm.xpath('//li[@class="list_item"]/a')
href = htm.xpath('//li[@class="list_item"]/a/@href')
利用get方法擷取網頁,可以用
print(r.status_code)
檢視網頁的狀态如果是200,恭喜可以通路。
接下來用lxml的etree.HTML将擷取的網頁包裹起來,就以用xpath來尋找你要的内容了。
如上,我們擷取的兩個路徑分别得到了新聞的标題和内容,是不是很簡單。對的,簡單的爬蟲就是這麼簡單哈哈哈。
我這裡其實就是講一下爬蟲的思想和通過簡單的庫來實作。有興趣的同學快去試試吧。
難點還是在對頁面的解析,有的網站設定了反爬蟲,對于反爬蟲我目前也在學習,大家一起進步吧!
詳細代碼見下面:
代碼:https://github.com/CreNeil/CUG_NEWS/blob/master/cug_spiders.py