1.註冊中國大學MOOCpython
2.選擇北京理工大學嵩天老師的《Python網絡爬蟲與信息提取》MOOC課程正則表達式
3.學習完成第0周至第4周的課程內容,並完成各周做業
4.提供圖片或網站顯示的學習進度,證實學習的過程。api
5.寫一篇很多於1000字的學習筆記,談一下學習的體會和收穫。網絡
學習筆記併發
0周介紹這門課主要掌握定向網絡數據爬取還有網頁解析的基本能力 ,這個課程 主要內容有自動爬取HTML頁面 還有自動網絡數據的請求提交,還有爬蟲須要注意的合法規則,解析HTML頁面,還有最後實在項目a/b,最後用一個正則表達式詳解來提取頁面相關關鍵信息 還有網絡爬蟲原理的介紹 專業爬蟲框架介紹app
第二節介紹了經常使用的python IDE工具 有文本類的自帶IDE,還有sublime text,還有集成工具類的IDE有pycharm ,anaconda和Spyder 適合本身的工具使用框架
第一週scrapy
導讀介紹和0周同樣ide
{第一單元}函數
第一章request庫的安裝 最好簡單 安裝方法 pip安裝 我也跟視頻安裝了 這是截圖
而後是調試截圖
而後有7個主要方法接下來介紹詳細7個方法
第二章
介紹requests.get的介紹
requests.ge(url,params=None,**kwarges)
url獲取頁面的url連接
Params url中額外參數 可選
**kwarges 12個控制訪問參數
介紹response對象的屬性 有五個,
分別是
r.status_code,返回200表示鏈接成功 其餘數據都是失敗
r.text, url對應頁面內容
r.encoding, 猜想響應內容的編碼 可能不許 iso-8859-1就是不許
r.apparent_encoding,響應內容的編碼方式,比較準
r.content HTTP響應二進制內容、
第三章
理解Requests庫的異常有6種
第三章
爬取網頁代碼框架
第四章
http協議及Requests庫方法
先理解HTTP協議
單元小結
重點requests.get和requests.head
通用框架
第二單元
網絡爬蟲引起的問題,3類,網頁requests,網站scrapy和全網(定製開發)
法律風險,騷擾問題,網絡爬蟲限制
robots協議 網絡爬蟲限制標準
遵照方式
能夠不遵照,但須要負法律責任 類人行爲能夠不參考 讓咱們遵照
第三單元
實戰
搜索和圖片的爬取和存儲
獲取IP地址
第二週
安裝Beautiful Soup庫安裝仍是正常的pip安裝,而後就是了解
Beautiful Soup將複雜HTML文檔轉換成一個複雜的樹形結構,每一個節點都是Python對象,全部對象能夠概括爲4種:
Tag NavigableString BeautifulSoup Comment
3種遍歷方式:
上行遍歷,下行遍歷,平行遍歷。bs4庫還有三種信心標記的方法:XML:標籤:<name>…</name> JSON: 鍵值對:「key」:「value」YAMAL等。
第三週
講的都是實戰部分主要講Re庫:
正則表達式:是用來簡潔表達一組字符串的表達式;是一種通用的字符串表達框架;進一步,正則表達式是一種針對字符串表達「簡潔」和「特徵」思想的工具,能夠用來判斷某字符串的特徵歸屬。
對Re庫的主要功能函數(search、match、findall、finditer、sub)進行了解和使用,Re庫的函數式法爲一次性操做,還有一種爲面向對象法,經過compile生成的regex對象
第四周:
講解了Scrapy的爬蟲框架結構, 爬蟲框架是實現爬蟲功能的一個軟件結構和功能組件集合,同時爬蟲框架是一個半成品, 可以幫助用戶實現專業
網絡爬蟲。在和request庫相比中,若是是很是小的需求,則使用request庫。不過小的需求則用Scrapy庫。並且Scrapy庫併發性好,性能較高
應用Scrapy爬蟲框架主要是編寫配置型代碼:
進入工程目錄,執行scrapy genapider demo pyth
該命令做用:
(1)生成一個名稱爲demo的spider
(2)在spiders目錄下增長代碼文件demo.py(該命令僅用於生成demo.py,該文件也能夠手工生成)
運行爬蟲,獲取網頁命令:scrapy crawl demo
yield關鍵字的使用:
包含yield語句的函數是一個生成器,生成器每次產生一個值(yield),函數被凍結,被喚醒後再產生一個值,生成器是一個不斷產生值得函數