第3次做業-MOOC學習筆記:Python網絡爬蟲與信息提取

1.註冊中國大學MOOCpython

2.選擇北京理工大學嵩天老師的《Python網絡爬蟲與信息提取》MOOC課程正則表達式

3.學習完成第0周至第4周的課程內容,並完成各周做業express

 

 

4.提供圖片或網站顯示的學習進度,證實學習的過程。網絡

 

 

5.寫一篇很多於1000字的學習筆記,談一下學習的體會和收穫。框架

          經過課上老師的推薦,這幾周我在中國大學慕課上學習了北京理工大學嵩天老師的《python網絡爬蟲與信息提取》這門網絡課程,所以對有關於網絡爬蟲與信息提取的知識有了更進一步的認識。scrapy

     《python網絡爬蟲與信息提取》這門課程讓咱們對網絡爬蟲與信息提取有了更加深刻的瞭解。這門課程告訴咱們:互聯網是功能集合,更是存儲空間;海量數據孕育巨大價值,數據採集需求迫切。網絡爬蟲已經成爲自動獲取互聯網數據的主要方式。ide

     這門課程主要是講解利用Python語言爬取網絡數據並提取關鍵信息的技術和方法,幫助學習者掌握定向網絡數據爬取和網頁解析的基本能力。函數

     首先,學習了網絡爬蟲的規則。我知道了Requests庫是爬取網頁的最好的第三方庫,它具備簡單簡潔的優勢。它的安裝方法是這樣的,由於Anaconda中已經包含這個庫了,因此若是要安裝,就要使用命令:pip install requests。我還知道,Requests庫的7個主要方法 :
(1)requests.request()是指構造一個請求,支撐如下各類方法的基礎方法 ;
(2)requests.get()是指獲取HTML網頁的主要方法,對應於HTTP的GET;
(3)requests.head()是指獲取HTML網頁頭信息的方法,對應於HTTP的HEAD ;
(4)requests.post()是指向HTML網頁提交POST請求的方法,對應於HTTP的POST ;
(5)requests.put()是指向HTML網頁提交PUT請求的方法,對應於HTTP的PUT ;
(6)requests.patch()是指像HTTP網頁提交局部修改請求,對應於HTTP的PATCH;
(7)requests.delete()是指向HTML頁面提交刪除請求,對應於HTTP的DELETE。post

get()等方法只是對request()方法作了封裝,是能夠被request()方法替代的。還認識了,爬取網頁的通用代碼框架。因爲網絡鏈接有風險,因此異常處理很重要。因而就須要爬取網頁的通用代碼框架。學習

     其次,學習了網絡爬蟲的提取。我知道了Beautiful Soup庫是解析、遍歷、維護「標籤樹」的功能庫。我還認識了信息提取的通常方法:
(1)完整解析信息的標記形式,再提取關鍵信息。XML,JSON,YAML
須要標記解析器,如bs4庫的標籤樹遍歷,優勢是信息解析準確,缺點是提取過程繁瑣。
(2)無視標記信息,直接搜索關鍵信息。搜索使用對信息的文本查找函數便可。優勢是提取過程簡潔,速度快,缺點是提取信息的準確性與信息內容直接相關。

     再次,我還學習到了許多網絡爬蟲實例。其中讓我印象比較深的是正則表達式的入門知識。regular expression是指用來簡潔表達一組字符串的表達式。編譯是將符合正則表達式語法的字符串轉換成正則表達式特徵:p = re.compile( regex ), 特徵能夠表達一組字符串。正則表達式的類型有:
(1) raw string類型(原生字符串類型,不包含轉義符的類型):r'text', 如r'\d{3}-\d{8}|\d{4}-\d{7}'
(2) string類型,將\理解爲轉義符,使用更繁瑣:如'\\d{3}-\\d{8}|\\d{4}-\\d{7}'
(3)當正則表達式包含轉義字符,使用raw string類型

     最後,學習了網絡爬蟲的框架。我知道了scrapy不是一個簡單的函數功能庫,而是一個爬蟲框架,它是一個5+2結構。而且知道了它的步驟:

(1)創建一個Scrapy爬蟲工程:scrapy startproject python123demo

(2)在工程中產生一個Scrapy爬蟲:scrapy genspider demo python123.io (3)配置產生的spider爬蟲demp.py

相關文章
相關標籤/搜索