目前在學習爬蟲的課程
以下小坐總結:
第一天主要看了以寫爬蟲的原理以及爬蟲資料的抓取
一
1.1:為什麼學習爬蟲
最主要的是在目前看來,爬蟲工程師屬於緊缺型人才,並且薪資待遇普遍較高
1,學習爬蟲,可以私人定製乙個搜尋引擎。
2,大資料時代,要進行資料分析,首先要有資料來源
3,對於很多seo從業者來說,從而可以更好的進行搜尋引擎優化。
1.2爬蟲的概念
什麼是網路爬蟲?
網路爬蟲(又被稱為網頁蜘蛛,網路機械人)爬蟲就是模擬客戶端傳送網路請求,
接受請求對應的響應,一種按照一定規則,自動抓取網際網路資訊的程式。
只要是客戶端(主要指瀏覽器)能做的事情,原則上,爬蟲都能夠做。
換言之,只要人能能夠正常訪問的網頁,爬蟲在具備同等資源的情況下就一定能抓取到。
1.3 爬蟲的用途
主要用途:資料採集
其他用途:各種搶購,12306搶票。投票刷票,簡訊轟炸,網路攻擊,web漏洞掃瞄器
1.4 爬蟲的分類
通用爬蟲:通常指搜尋引擎和大型服務提供商的爬蟲
累計式爬蟲:從開始到結束,不斷的爬取,過程中會進行去重操作。
1.5 爬蟲的用途:
金融金融新聞/資料制定投資策略,進行量化交易
旅遊各類資訊優化出行策略
電商商品資訊 比價系統
遊戲遊戲論壇調整遊戲運營
銀行個人交易資訊徵信系統/貸款評級
招聘職位資訊崗位資訊
輿情 各大論壇
社會群體感知,**導向
一/二: 通用爬蟲和聚焦爬蟲工作原理
2.1 通用搜尋引擎的侷限性
搜尋引擎抓取動態網頁效果不好
一/三.robots協議
什麼是robots協議:
robots協議(也稱為爬蟲協議、機械人協議等)的全稱是「網路爬蟲排除標準」(robots exclusion protocol),**通過robots協議告訴搜尋引擎哪些頁面可以抓取,哪些頁面不能抓取。
robots協議是乙個道德層面的約定,爬蟲作者遵不遵守完全看自己意願。
存在位置:
robots.txt檔案應該放置在**根目錄下
例如:二、http和https複習內容
1、http和https
2、http的請求過程
3、http的請求報文格式
4、http的常見請求頭
5、get和pos
6、響應狀態碼
2.2 瀏覽器傳送http請求的過程
url 的格式
形式:scheme://host[:port#]/path/…/[?query-string][#anchor]
scheme:協議(例如:http, https, ftp)
port:伺服器的埠(如果是走協議預設埠,80 or 443)
path:訪問資源的路徑
query-string:引數,傳送給http伺服器的資料,引數使用&隔開
anchor:錨(跳轉到網頁的指定錨點位置)
為什麼要進行編碼
通常如果一樣東西需要編碼,說明這樣東西並不適合傳輸。原因多種多樣,如size過大,包含隱私資料,對於url來說,之所以要進行編碼,是因為url中有些字元會引起歧義。url的編碼格式採用的是ascii碼,而不是unicode,這也就是說你不能在url中包含任何非ascii字元,例如中文。
url編碼與解碼
瀏覽器從表單中獲取所有的name和其中的值 ,將它們以name/value引數編碼(移去那些不能傳送的字元, 將資料排行等等)作為url的一部分或者分離地發給伺服器。
url編碼的原則:
使用安全的字元(沒有特殊用途或者特殊意義的可列印字元)去表示那些不安全的字元。
重要 重要 重要
瀏覽器訪問乙個**,在的獲取原始碼之後會根據原始碼上的鏈結載入,js,css檔案等,我們稱之為渲染,而爬蟲只會請求原始碼
2.3http請求報文的格式
http請求報文分為三部分:
1.請求行
2.請求頭請求頭中包含很多資訊,通常會告知伺服器一些資訊
3.請求體post請求資料存放位置
2.4http常見的請求頭
1.host (主機和埠號)
2. connection (鏈結型別)
3. upgrade-insecure-requests (公升級為https請求)
4. user-agent (使用者**)
伺服器能夠識別客戶使用的作業系統及版本、cpu 型別、瀏覽器及版本、瀏覽器渲染引擎、瀏覽器語言、瀏覽器外掛程式等
5. accept (傳輸檔案型別)
6. referer
頁面跳轉處,從何處來到當前頁面,可用於防爬和防盜煉
7. accept-encoding
覽器支援的編碼型別,主要的編碼格式就是壓縮格式
gzipcompressdeflate
8. cookie
用於進行狀態保持,通常也可用於識別使用者身份
9. x-requested-with :
xmlhttprequest 是ajax 非同步請求
爬蟲初階(一) 爬蟲概念與HTTP
根據使用場景,爬蟲通常分為兩類 2.1 概念 2.2 瀏覽器傳送http請求的過程 客戶端將url傳送至dns伺服器。dns伺服器獲取網域名稱對應的ip,返回至客戶端。客戶端通過ip位址請求資源。web伺服器返回頁面 html js css jpg。2.3 http協議的內容 2.3.1 請求行 請...
爬蟲課程一
def load data url get的請求 http的請求 response urllib.request.urlopen url print response data response.read print data str data data.decode utf 8 print str...
網路爬蟲(1) 爬蟲與HTTP
聚焦爬蟲 聚焦爬蟲是根據指定的需求抓取網路上指定的資料。例如 獲取豆瓣上電影的名稱和影評,而不是獲取整張頁面中所有的資料值。增量式爬蟲 增量式是用來檢測 資料更新的情況,且可以將 更新的資料進行爬取 後期會有章節單獨對其展開詳細的講解 即 有權規定 中哪些內容可以被爬蟲抓取,哪些內容不可以被爬蟲抓取...