1. 程式人生 > >爬蟲系列(2)-----python爬取CSDN博客首頁所有文章

爬蟲系列(2)-----python爬取CSDN博客首頁所有文章

成功 -name 保存 eas attr eve lan url att

對於Python初學者來說,爬蟲技能是應該是最好入門,也是最能夠有讓自己有成就感的,今天在整理代碼時,整理了一下之前自己學習爬蟲的一些代碼,今天上第2個簡單的例子,python爬取CSDN博客首頁所有文章。廢話不多說,直接上代碼講解。

step1:打開需要爬取的網站:https://blog.csdn.net/

技術分享圖片

step2:查看源代碼

找到我們要爬取的每一篇文章的鏈接在源代碼中的具體位置,鼠標選擇頁面郵件,點擊查看頁面源代碼即可,打開的頁面如下圖所示:

技術分享圖片

然後我們怎麽才可以找到我要爬取的文章的鏈接呢,很容易,按住ctrl+F鍵進行搜索,隨便搜索一篇文章,比如就搜索首頁中的一篇名為“時間序列相關算法與分析步驟

”的文章,然後快速定位出標題的位置,如下所示:

技術分享圖片

然後通過觀察,我們發現href="http://blog.csdn.net/qq_33414271/article/details/79588126"對應的信息就是該文章的網址,這樣就好辦了,就用簡單的正則匹配就可以了,下面開始進行爬取啦。

step3:代碼很短,就直接上代碼了啊!

import urllib.request
import re

url=https://blog.csdn.net/
#模擬瀏覽器
headers=("user-agent","Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 BIDUBrowser/8.7 Safari/537.36
") opener=urllib.request.build_opener() opener.addheaders=[headers]#添加報頭 urllib.request.install_opener(opener)#設置opner全局化 #獲取網頁信息 data=urllib.request.urlopen(url).read().decode(utf-8) #設置正則 pat=<a strategy=.*?href="(.*?)" target="_blank"> #匹配正則 res=re.compile(pat).findall(data) #保存數據 for i in
range(len(res)): try: file="F:/csdn/"+str(i+1)+.html urllib.request.urlretrieve(res[i],file) print(+str(i+1)+篇文章爬取成功!) except urllib.error.URLError as e: if hasattr(e,"code"): print(e.code) if hasattr(e,"reason"): print(e.reason)

爬取的結果如下:

技術分享圖片

爬蟲系列(2)-----python爬取CSDN博客首頁所有文章