?上節內容回顧:【爬蟲基礎】第一部分 網絡通訊 P1/3-CSDN博客
? ? ? ? ? ? ? ? ? ? ? ? ??【爬蟲基礎】第一部分 網絡通訊-Socket套接字 P2/3-CSDN博客
? ? ? ? ? ? ?? ? ? ? ? ? ?【爬蟲基礎】第一部分 網絡通訊-編程 P3/3-CSDN博客? ?
爬蟲相關文檔,希望互相學習,共同進步
風123456789~-CSDN博客
前言?
1.知識點碎片化:每個網站實現的技術相似但是有區別,要求我們根據不同的網站使用不同的應對手段。主要是常用的一些網站爬取技術。
2.學習難度:入門比web簡單,但后期難度要比web難,在于爬蟲工程師與網站開發及運維人員的對抗。比如你寫了爬蟲但是被網站運維人員發現后添加反爬,那么就要解決反爬。即平臺更新換代,爬蟲策略需要實時更新。
3.學習特點:以摸個網站爬蟲為講解對象,即一個技術點的案例。
4.后續發展:要求掌握的東西多,工作中根據工作需要涉及到更多沒有接觸的知識。
5.法律層面:爬蟲相關工作屬于灰色地帶,目前國內現行法律對于爬蟲相關評判還沒有明確制度。
6.建議:好記性不如爛筆頭,建議多找網站進行爬取聯系,同時做好筆記。
1.概述
爬蟲通常會遵循一定的規則和算法,以確保能夠高效地遍歷互聯網并收集到所需的數據。
?本節章節:
? ? 第一節? 爬蟲理論原理 (本文)
? ? 第二節? http協議
? ? 第三節? chrome瀏覽器抓包說明
2.爬蟲理論原理
? ?知識點:
? ? 1.爬蟲的概念
? ? 2.爬蟲的作用
? ? 3.爬蟲的分類
? ? 4.爬蟲的流程
2.1 爬蟲的概念
? ? 爬蟲就是自動抓取互聯網信息的程序。
? ???爬蟲(Web Crawler)是一種按照一定規則從互聯網上抓取信息的程序。?它與用戶正常訪問信息的區別在于,用戶是緩慢、少量地獲取信息,而爬蟲則是大量地獲取信息。爬蟲通過模擬瀏覽器請求網站的行為,獲取網頁的HTML代碼、JSON數據或二進制數據(如圖片、視頻、音頻等),并將其存儲或進行進一步處理。?
? ? 再通俗講,如果說互聯網是一張大的蜘蛛網,數據便是存放于蜘蛛網的各個節點,而爬蟲就是一只小蜘蛛,沿著網絡抓取自己的獵物(數據)爬蟲指的是:向網站發起請求,獲取資源后分析并提取有用數據的程序。從技術層面來說就是 通過程序模擬瀏覽器請求站點的行為,把站點返回的HTML代碼/JSON數據/二進制數據(圖片、視頻) 爬到本地,進而提取自己需要的數據,存放起來使用。
2.2?爬蟲的作用
為什么要使用爬蟲?
? ? ? 大數據時代,要進行數據分析,首先要有數據源,而學習爬蟲,可以讓我們獲取更多的數據源,并且這些數據源可以按我們的目的進行采集,去掉很多無關數據。
? ? ? 在進行大數據分析或者進行數據挖掘的時候,數據源可以從某些提供數據統計的網站獲得,也可以從某些文獻或內部資料中獲得,但是這些獲得數據的方式,有時很難滿足我們對數據的需求,而手動從互聯網中去尋找這些數據,則耗費的精力過大。
? ? ? 此時就可以利用爬蟲技術,自動地從互聯網中獲取我們感興趣的數據內容,并將這些數據內容爬取回來,作為我們的數據源,從而進行更深層次的數據分析,并獲得更多有價值的信息。
?爬蟲的作用:
? ? 1)數據采集
? ? ? ? ? ? ??爬蟲可以快速收集大量數據,常用于市場調研、競爭分析等。
? ??2)數據統計
? ? ? ? ? ? ??通過分析大量數據,可以發現一些人為難以察覺的模式和趨勢。
? ? 3)數據的功能性集成(如:刷流量與秒殺活動?)? ? ? ? ? ? ? 爬蟲可以模擬大量用戶訪問,增加網站的訪問量,甚至參與秒殺活動。
2.3?爬蟲的分類
爬蟲的類型
- ?通用爬蟲?:用于收集互聯網上的大量數據,例如搜索引擎的爬蟲。它們遍歷整個網頁鏈接,并按照規則提取相關信息。
- ?聚焦爬蟲?:針對特定主題或領域進行數據收集。它們只訪問和提取與預設主題相關的網頁數據。對某個單一的平臺,單獨開發的爬蟲? ?采集抖音的爬蟲程序
- ?增量式爬蟲?:主要用于定期更新數據,而不是每次都全面爬取。它們記錄上一次爬取的時間戳,只訪問和提取自上次爬取以來更新過的網頁數據。
- ?深度爬蟲?:專門用于訪問和收集隱藏在互聯網深層網頁中的信息。這些網頁通常不被搜索引擎索引,需要特殊的技術和算法才能訪問和提取數據。
- ?垂直爬蟲?:專注于特定網站或特定類型網頁的數據收集,例如新聞爬蟲、電商產品爬蟲等。
- ?社交媒體爬蟲?:用于在各種社交媒體平臺上抓取用戶的信息、帖子、評論等數據,常用于情感分析、輿情監測等應用。
?1)通用爬蟲
類似百度、谷歌這樣的爬蟲,抓取對象是整個互聯網,對于網頁沒有固定的抽取規則。 對于所有網頁都是一套通用的處理方法。
? ? ? ?需要采集網站(平臺):特別多
? ? ? ?收集的信息非常有限
? ? ? ?收集網頁的標題
? ? ? ?采集算法
2)垂直爬蟲
這類爬蟲主要針對一些特定對象、網站,有一臺指定的爬取路徑、數據抽取規則。
? ? ? 比如今日頭條,它的目標網站就是所有的新聞類網站。
? ? ? 比如Etao比價、網易的慧慧購物助手,他的目標網站就是 淘寶、京東等等電商網站。?
通用爬蟲和垂直爬蟲顯著的區別:
? ? ?A.抓取范圍,通用爬蟲的抓取范圍要比垂直爬蟲大得多,一個是整個互聯網,一個是指定的網站。
? ? ?B.爬取路線,一個通用爬蟲要不按照深度爬取、要不是按廣度爬取。 而垂直爬蟲則可能是按照指定路線爬取。
? ? ?C.數據處理,通用爬蟲一般就是分詞、索引到數據庫。 而垂直爬蟲則通過特定的規則來抽取更加精細的數據 。
2.4?爬蟲的流程原理
用戶獲取網絡數據的方式:
方式1:瀏覽器提交請求--->下載網頁代碼--->解析成頁面
方式2:模擬瀏覽器發送請求(獲取網頁代碼)->提取有用的數據->存放于數據庫或文件中
爬蟲要做的就是方式2。
?爬蟲的流程步驟:
?1.準備數據(網站地址)
?2.發送請求,獲取響應
?3.解析響應,數據提取
?4.保存數據
1)準備數據(網站地址)
2)發起請求,獲取響應
爬蟲首先會向目標網站發送HTTP請求,以獲取網頁的HTML源碼。
Request包含:請求頭、請求體等?
Request模塊缺陷:不能執行JS 和CSS 代碼
如果服務器能正常響應,則會得到一個Response
Response包含:html,json,圖片,視頻等
3)解析響應,數據提取
獲取到HTML源碼后,爬蟲會使用解析器對網頁進行解析,提取出所需的信息。
解析html數據:正則表達式(RE模塊),第三方解析庫如Beautifulsoup,pyquery等
解析json數據:json模塊
解析二進制數據:以wb的方式寫入文件
4)保存數據
提取出的信息會被存儲到本地文件、數據庫或其他存儲介質中,以便后續的分析和處理
數據庫([MySQL],Mongdb、Redis)
文件
?
?
注意:法律和道德問題
在使用爬蟲時,需要遵守一定的法律和道德準則,尊重網站的隱私政策和使用條款,確保合法和負責任地使用爬蟲技術。
今天先到這里吧~~
預知后事如何,且聽下回分解~ ok
項目管理--相關知識???
項目管理-項目績效域1/2-CSDN博客
項目管理-項目績效域1/2_八大績效域和十大管理有什么聯系-CSDN博客
項目管理-項目績效域2/2_績效域 團不策劃-CSDN博客
高項-案例分析萬能答案(作業分享)-CSDN博客
項目管理-計算題公式【復習】_項目管理進度計算題公式:樂觀-CSDN博客
項目管理-配置管理與變更-CSDN博客
項目管理-項目管理科學基礎-CSDN博客
項目管理-高級項目管理-CSDN博客
項目管理-相關知識(組織通用治理、組織通用管理、法律法規與標準規范)-CSDN博客
Oracle其他文檔,希望互相學習,共同進步
Oracle-找回誤刪的表數據(LogMiner 挖掘日志)_oracle日志挖掘恢復數據-CSDN博客
oracle 跟蹤文件--審計日志_oracle審計日志-CSDN博客
ORA-12899報錯,遇到數據表某字段長度奇怪現象:“Oracle字符型,長度50”但length查卻沒有50_varchar(50) oracle 超出截斷-CSDN博客
EXP-00091: Exporting questionable statistics.解決方案-CSDN博客
Oracle 更換監聽端口-CSDN博客