一:最初的爬取方式
1.代碼示例
2.request對象概念
python中的request其實就是python向伺服器送出請求,得到其傳回的資訊。
3.urllib與urllib2
是功能強大的網絡程式設計函數庫,通過他們在網絡上通路檔案就像通路本地電腦上的檔案一樣。
與re子產品結合,可以下載下傳web頁面,提取資訊,這時最開始的抓取方式。
4.常見的請求方式
get
post
put
delete
二:Post方式的爬取
1.程式(post方式)
三:Get方式的爬
1.是?連結的情況
2.程式
四:Header設定
1.原有
有些網站不會同意直接通路,如果有識别問題,站點不會響應
是以,為了完全模拟浏覽器上的工作,需要設定一些Header的屬性。
2.設定
user agent='Mozilla/4.0(compatible;MSIE 5.5;Windows NT)'
headers={'User-Agent':user agent}
request=urllib2.Request(url,data,headers)
五:使用代理通路
1.緣由
多次通路,目标網站會禁止你的通路,是以需要更換IP
2.免費的代理ip網站
http://www.xicidaili.com/
六:對上面知識點程式示範
1.爬蟲
七:異常處理
1.URLError
産生的原因如下:
網絡無連接配接,連結不到指定的伺服器,伺服器不存在。
2.解決方式
使用try except
程式示例如下:
3.HttpError
是URLError的子類,在利用urlopen方法發出一個請求後,伺服器都會對應一個應答對象response,其中它包含一個數字“狀态嗎”,表示Http協定所傳回的響應的狀态。
注意點:except的順序。
顯示403,表示禁止通路。
八:正規表達式
1.Re子產品
自帶的re子產品,提供正規表達式的支援。
主要用到的方法:
#傳回pattern對象
re.compile(string,[,flag])
#比對所用的函數
re.match(pattern,string[,flag])
re.search(pattern,string[,flag])
re.split(pattern,string[,maxsplit])
re.findall(pattern,string[,flag])
2.pattern的建立
pattern=re,compile(r'hello')
3.flag參數
flag是比對模式
可以使用‘|’進行同時生效。
re.I:表示忽略大小寫
re.M:多行模式
4.程式示例
5.正規表達式的文法
主要是那些模糊查找。
6.程式示例代碼
7.效果

8.将資料存儲到Excel表格
前提:
9.程式示例
10.效果展示