爬蟲基礎知識1

1.爬蟲概念 爬蟲是什麼?javascript

生活中,爬蟲就是爬行的蟲子,毛毛蟲、蛆、蜘蛛(spider) 蜘蛛網:從任何一端均可以到達任何一端,由不少的節點構成 互聯網爬蟲。html

通用爬蟲:
百度、搜狗、谷歌、360、必應等 搜索引擎
工做:將互聯網中全部的數據所有爬取下來,給用戶提供檢索服務
本身的網站呢?博客,阿里雲服務器,放上去了,放到網上了
百度能不能抓取你的網站?
(1)其它網站中設置友情連接
(2)主動提交url,百度開發者
(3)百度會和DNS服務商合做,抓取新的網站
能不能讓百度不抓取你的網站?
能夠實現,經過robots.txt文件,須要放在網站的根目錄,寫出來哪些能夠抓,哪些不能夠抓取。
robots.txt是一個口頭協議、君子協議,百度聽從這個協議,你本身寫的,你要不要聽從呢?咱們不聽從
網站排名(SEO)
(1)page-rank值排名,本身的實力排名
(2)競價排名
缺點:
(1)抓取的不少數據都是沒用的
(2)不能根據指定的需求獲取數據java

聚焦爬蟲:
概念:根據特定的需求從互聯網上爬取指定的數據
網頁的共同特色:
(1)一個網頁都有本身惟一的url(統一資源定位符)
(2)網頁都是html結構的
(3)網頁傳輸使用的都是http協議、https協議
思路:
(1)給我一個url
(2)向這個url發送請求,獲得響應(網頁內容)
(3)解析網頁,提取指定數據python

環境:
windows、linux、python3.六、編輯器(pycharm)、sublimelinux

總體內容:
(1)如何發送請求
urllib.request urllib.parse requests
(2)解析數據
正則表達式(均可以)、bs4(html)、xpath(html)、jsonpath(json數據)
(3)採集動態html數據
selenium+phantomjs(大招、絕招)
(4)scrapy,scrapy-redis分佈式部署
(5)涉及到爬蟲、反爬蟲、反反爬蟲的技術web

核心,理論上:只要瀏覽器可以訪問,那麼程序就能訪問
實際過程當中,參數搞不定,
反爬手段:UA、代理、驗證碼、動態數據加載、防盜鏈、懶加載
很差:爬蟲要求高 web < 爬蟲 < 數據ajax

 

二、http協議正則表達式

http協議
由於代碼要模擬發送http請求,因此要學習http協議
圖解http協議redis

http和https的區別
網景公司 Netscape 倒閉了 javascript
Mozilla基金會 火狐瀏覽器 谷歌瀏覽器
https://www.cnblogs.com/wqhwe/p/5407468.html
HTTPS和HTTP的區別主要以下:
  一、https協議須要到ca申請證書,通常免費證書較少,於是須要必定費用。 釣魚網站 12306
  二、http是超文本傳輸協議,信息是明文傳輸,https則是具備安全性的ssl加密傳輸協議。
  三、http和https使用的是徹底不一樣的鏈接方式,用的端口也不同,前者是80,後者是443。
  四、http的鏈接很簡單,是無狀態的;HTTPS協議是由SSL+HTTP協議構建的可進行加密傳輸、身份認證的網絡協議,比http協議安全。
公鑰-私鑰
加密,我恨你 md5 base64 祕鑰
解密,祕鑰
公鑰加密的數據,只能私鑰解密,私鑰加密的數據,只能公鑰解密json

http協議
https://www.cnblogs.com/10158wsj/p/6762848.html
請求:請求行、請求頭、請求體
get和post的區別?
(1)post能夠帶的參數比get多,get有限制,post沒有限制
(2)get參數顯示,post不顯示,post稍微安全
(3)get用來獲取數據,post用來提交數據
請求頭
  accept:瀏覽器經過這個頭告訴服務器,它所支持的數據類型
  Accept-Charset: 瀏覽器經過這個頭告訴服務器,它支持哪一種字符集
  Accept-Encoding:瀏覽器經過這個頭告訴服務器,支持的壓縮格式
  Accept-Language:瀏覽器經過這個頭告訴服務器,它的語言環境
  Host:瀏覽器經過這個頭告訴服務器,想訪問哪臺主機
  If-Modified-Since: 瀏覽器經過這個頭告訴服務器,緩存數據的時間
  Referer:瀏覽器經過這個頭告訴服務器,客戶機是哪一個頁面來的 防盜鏈 上一級頁面,來源

 

三、抓包工具 抓包是什麼?爲何抓包?

要經過代碼模擬發送http請求,因此要抓包看瀏覽器怎麼發的

(1)谷歌瀏覽器自帶抓包 xhr:XMLHttpRequest ajax 局部刷新 query_string: 查詢字符串,url後面攜帶的參數 formdata: 表單數據 preserve log: 能夠查看全部的請求

(2)抓包軟件fiddler使用 使用fiddler (3)青花瓷 charles、wireshark

 四、urllib urllib是什麼?

是一個庫,python自帶的一個庫,功能:模擬瀏覽器發送http請求的

 

 

相關文章
相關標籤/搜索