Reference:
第一周 網(wǎng)絡爬蟲之規(guī)則
單元1:Requests庫入門
1-1 Requests庫的安裝
1-2 Requests庫的get()方法
1-3 爬取網(wǎng)頁的通用代碼框架
1-4 HTTP協(xié)議與Requests庫方法
注意:put與post的區(qū)別
1-5 Requests庫主要方法解析
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Requests庫的7個主要方法
(一). requests庫的request方法是所有方法的基礎方法爽蝴,它有三個參數(shù),分別是:
method卷要,url和控制訪問參數(shù)----> requests.request(method,url,**kwargs)
method表示請求方式赂苗,對應get/put/post等7種
url指擬獲取頁面的url鏈接
**kwargs控制訪問參數(shù),共13個渗蟹,均為可選項
(1)params
(2)data
(3)json
(4)headers
(5)cookies
(6)auth
(7)files
(8)timeout
(9)proxies
(10)allow_redirects
(11)stream
(12)verify
(13)cert
單元2:網(wǎng)絡爬蟲的“盜亦有道”
2-1 網(wǎng)絡爬蟲引發(fā)的問題
網(wǎng)絡爬蟲的尺寸
網(wǎng)絡爬蟲的“騷擾”(對服務器性能的騷擾)
服務器默認是按照人數(shù)來約定它的訪問能力块饺,但當有爬蟲加入的時候赞辩,服務器可能很難提供那么高的性能。
網(wǎng)絡爬蟲的法律風險(內(nèi)容層面)
服務器上的數(shù)據(jù)有產(chǎn)權歸屬授艰,網(wǎng)絡爬蟲獲取數(shù)據(jù)后牟利將帶來法律風險辨嗽。
網(wǎng)絡爬蟲的泄露隱私(個人隱私泄露)
網(wǎng)絡爬蟲可能具備突破簡單訪問控制的能力,獲得被保護數(shù)據(jù)從而泄露個人隱私淮腾。
對于一般的服務器來說召庞,可以用兩種方式限制網(wǎng)絡爬蟲:
(1)如果網(wǎng)站的所有者具有一定的技術能力,可以通過來源審查來限制網(wǎng)絡爬蟲来破。
來源審查:判斷User-Agent進行限制
檢查來訪HTTP協(xié)議頭的User-Agent域篮灼,只響應瀏覽器或友好爬蟲的訪問。
(2)發(fā)布公告:Robots協(xié)議
告知所有爬蟲 網(wǎng)站的爬取策略徘禁,要求爬蟲遵守诅诱。
2-2 Robots協(xié)議=Robots Exclusion Standard 網(wǎng)絡爬蟲排除標準
作用:網(wǎng)站告知網(wǎng)絡爬蟲哪些頁面可以抓取,哪些不行送朱。
形式:在網(wǎng)站根目錄下的robots.txt文件娘荡。通過基本語法告知網(wǎng)絡爬蟲,該網(wǎng)站內(nèi)部資源可以被訪問的權限驶沼。
規(guī)定:robots協(xié)議規(guī)定炮沐,如果一個網(wǎng)站不提供robots.txt文件,則說明這個網(wǎng)站允許所有爬蟲無限制的爬取其內(nèi)容回怜。
Robots協(xié)議基本語法:
User-agent:*
Disallow:/
注釋: ? * 代表所有大年,/ ?代表根目錄
案例:京東的Robots協(xié)議
https://www.jd.com/robots.txt
http://www.baidu.com/robots.txt ? ? ? ? ? 百度
http://news.sina.com.cn/robots.txt ? ? ? ?新浪新聞
http://www.qq.com/robots.txt ? ? ? ? ? ? ? ?qq
http://news.qq.com.cn/robots.txt ? ? ? ? ? qq新聞
http://www.moe.edu.cn/robots.txt(無robots協(xié)議) ? ? ? ? 我國教育部的網(wǎng)站
2-3 Robots協(xié)議的遵守方式
robots協(xié)議的使用
網(wǎng)絡爬蟲:自動或人工識別robots.txt,再進行內(nèi)容爬取玉雾。
約束性:Robots協(xié)議是建議但非約束性翔试,網(wǎng)絡爬蟲可以不遵守,但存在法律風險复旬。
TIPS.類人行為可以不參考Robots協(xié)議
單元3:Requests庫網(wǎng)絡爬蟲實戰(zhàn)(5個實例)
3-1 實例1:京東商品頁面的爬取
STEP1.? 打開京東頁面垦缅,選取一款商品。比如:https://item.jd.com/4939144.html
通過寫程序驹碍,獲得該商品的相關信息壁涎。
STEP2. ? 全代碼
3-2 實例2:亞馬遜商品頁面的爬取
對于一些保護的比較好的網(wǎng)站,通過模擬瀏覽器志秃,發(fā)起請求怔球。
3-3 實例3:百度/360搜索關鍵詞提交
搜索引擎關鍵詞提交接口:
百度的關鍵詞接口: ? ?http://www.baidu.com/s?wd=keyword
360的關鍵詞接口: ? ?http://www.so.com/s?q=keyword
在這兩個接口中,只要我們替換keyword就可以向搜索引擎提交關鍵詞洽损,構造這樣的url就可以實現(xiàn)關鍵詞的提取庞溜。
3-4 實例4:網(wǎng)絡圖片的爬取和存儲
網(wǎng)絡圖片的爬取
網(wǎng)絡圖片鏈接的格式:
http://www.example.com/picture.jpg
國家地理:http://www.nationalgeographic.com.cn/
選擇一個圖片Web頁面:http://www.nationalgeographic.com.cn/photography/photo_of_the_day/4082.html ? 右鍵圖片屬性
http://image.nationalgeographic.com.cn/2017/0509/20170509021454807.jpg
3-5 實例5:IP地址歸屬地的自動查詢
IP138網(wǎng)站 http://www.ip138.com/
http://m.ip138.com/ip.asp?ip=ipaddress? 例如:202.204.80.112 北京理工大學網(wǎng)站