javascript
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協議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:瀏覽器經過這個頭告訴服務器,客戶機是哪一個頁面來的 防盜鏈 上一級頁面,來源