初步認識爬蟲

1.什麼是爬蟲?

按照一定的規則,自動地抓取萬維網信息的程序或者腳本。

按照系統結構和實現技術,大致可以分:通用網絡爬蟲聚焦網絡爬蟲增量式網絡爬蟲深層網絡爬蟲

實際的網絡爬蟲系統通常是幾種爬蟲技術相結合實現的 。

通用網絡爬蟲(Scalable Web Crawler):主要爲門戶站點搜索引擎和大型 Web 服務提供商採集數據;
特點:
1.爬行範圍和數量巨大,對於爬行速度和存儲空間要求較高;
2.對於爬行頁面的順序要求相對較低;
3.由於待刷新的頁面太多,通常採用並行工作方式,但需要較長時間才能刷新一次頁面。

聚焦網絡爬蟲(Focused Crawler):選擇性地爬行那些與預先定義好的主題相關頁面的網絡爬蟲
特點:
1.只需要爬行與主題相關的頁面,極大地節省了硬件和網絡資源;
2.保存的頁面也由於數量少而更新快;
3.可以很好地滿足一些特定人羣對特定領域信息的需求。

增量式網絡爬蟲(Incremental Web Crawler):對已下載網頁採取增量式更新和只爬行新產生的或者已經發生變化網頁的爬蟲。
特點:
1.能夠在一定程度上保證所爬行的頁面是儘可能新的頁面;
2.只會在需要的時候爬行新產生或發生更新的頁面 ,並不重新下載沒有發生變化的頁面,可有效減少數據下載量,及時更新已爬行的網頁,減小時間和空間上的耗費;
3.增加了爬行算法的複雜度和實現難度。

深層網絡爬蟲(Deep Web Crawler):針對Deep Web;
Deep Web:是那些大部分內容不能通過靜態鏈接獲取的、隱藏在搜索表單後的,只有用戶提交一些關鍵詞才能獲得的 Web 頁面。例如那些用戶註冊後內容纔可見的網頁就屬於 Deep Web。

2.爬蟲的步驟:

  1. 模擬HTTP請求,將請求發送到目標網址;
  2. 獲得html;
  3. 對獲取到的數據進行解析——提取出我們所需要的部分;
  4. 存儲提取出來的數據——文件/數據庫;

3.如何模擬HTTP發送請求?

1.urllib.requestopenurl(url):常用的方法,對一些沒有設置反爬蟲的網站適用;
2. Requests :可以定製header,如果目標對象設置了反爬蟲,就可以使用該方法;

4.如何獲得html?

read()

5.如何解析獲取到的數據?

  1. 正則表達式;
  2. 字符串;
  3. BeautifulSoup;

6.如何對數據進行存儲?

1.存到文件中: with open (‘a.txt’ ,‘w’) as f ;
2. 存到數據庫:MySQL pymysql mysql-connector

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章