什么是爬蟲?
爬蟲:抓取網(wǎng)頁數(shù)據(jù)的程序
網(wǎng)頁: URL統(tǒng)一資源定位符
HTTP/HTTPS協(xié)議
數(shù)據(jù)爬取:1.確定URL地址醇蝴。2.模擬請求。3.提取數(shù)據(jù)
通用爬蟲vs聚焦爬蟲
通用爬蟲:
1.目標:盡可能吧互聯(lián)網(wǎng)上所有網(wǎng)頁下載下來,才能在本地服務器上承桥,形成備份
2.實施:將網(wǎng)頁已快照的形式保存在服務器上况脆,進行關鍵字提取和垃圾數(shù)據(jù)剔除饭宾,提供用戶一個訪問的方式
3.操作:爬取網(wǎng)頁->存儲數(shù)據(jù)->內容處理->提供檢索
4.搜索引擎排名—PageRank值--根據(jù)網(wǎng)站的流量進行順序排名
1.1 爬取流程
1.選擇已有的url地址->提交url地址給搜索引擎->百度站長平臺
2.其他網(wǎng)站的外鏈
3.分析網(wǎng)頁內容,提取連接格了,繼續(xù)執(zhí)行上一步操作
1.2搜索引擎獲取新網(wǎng)站url地址
1.主動推送url地址->提交url地址給搜索引擎->百度站長平臺
2.其他網(wǎng)長的外鏈
3.搜索引擎和DNS服務商共同處理看铆,收錄新的網(wǎng)站信息
1.3通用爬蟲限制:Robts協(xié)議【約定協(xié)議robots.txt】
robots協(xié)議:協(xié)議指明通用爬蟲可以爬取網(wǎng)頁的權限
robots協(xié)議是一種約定,一般是定公司的程序或者搜索引擎等遵守
1.4 缺陷
1盛末、只能爬取和文本相關的數(shù)據(jù)弹惦,不能提供多媒體(圖片、音樂悄但、視頻)以及其他二進制文件(代碼棠隐、腳本等)的數(shù)據(jù)爬取
2、提供的結果千篇一律檐嚣,提供給所有人通用的一個結果宵荒,不能根據(jù)具體的人的類型進行區(qū)分
聚焦爬蟲
為了解決通用爬蟲的缺陷,開發(fā)人員針對特定的用戶而開發(fā)的數(shù)據(jù)采集程序
特點:面向需求净嘀,需求驅動開發(fā)
HTTP:超文本傳輸協(xié)議:Hyper Text Transfer Protocal
HTTPS:Secure Hypertext Transfer Protocal 安全的超文本傳輸協(xié)議
HTTP請求:網(wǎng)絡上的網(wǎng)頁訪問报咳,一般使用的都是超文本傳輸協(xié)議,用于傳輸各種數(shù)據(jù)進行數(shù)據(jù)訪問挖藏,從瀏覽器發(fā)起的每次url地址的訪問都稱為請求獲取數(shù)據(jù)的過程稱為響應數(shù)據(jù)
抓包工具:在訪問過程中暑刃,獲取網(wǎng)絡上傳輸數(shù)據(jù)包的工具稱為抓包工具
瀏覽器設置代理進行數(shù)據(jù)抓包----建議使用谷歌的插件快捷設置不同的代理-----Falcon Proxy
抓包:網(wǎng)絡編程中的專業(yè)術語名詞,指代的是對網(wǎng)絡上傳輸?shù)臄?shù)據(jù)進行抓取解析的過程
抓包工具:可以進行代理配置等膜眠,完成對網(wǎng)絡傳輸數(shù)據(jù)的抓取操作的軟件
常見的抓包工具:網(wǎng)絡上流傳的各種抓包工具有很多岩臣,大部分是收費的,即使有破解版也不是特別穩(wěn)定(廣告:使用正版)
一般我們針對瀏覽器jinz-xing抓包的操作工具
1.使用瀏覽器自帶的開發(fā)者工具宵膨,進行網(wǎng)絡數(shù)據(jù)的抓包監(jiān)控【最方便架谎、最直接、信息較為詳細】
2.其他專業(yè)抓包工具如:Sniffer辟躏,wireshark谷扣,WinNetCap.
WinSockExpert,SpyNet,fiddler等等,各種不同的抓包工具功能類似,細節(jié)處理和適用環(huán)境不同而已
3.我們使用fiddler進行抓包和信息分析
urllb2是python中進行網(wǎng)頁數(shù)據(jù)抓取的一個操作模塊
在python3中会涎,對urllib2進行了優(yōu)化和完善裹匙,封裝成了urllib.request進行處理