【Python爬蟲基礎篇】--1.基礎概念

目錄

1.爬蟲--定義

2.爬蟲--組成

3.爬蟲--URL


1.爬蟲--定義

?????????網絡爬蟲,是一種按照一定規則,自動抓取互聯網信息的程序或者腳本。另外一些不常使用的名字還有螞蟻、自動索引、模擬程序或者蠕蟲。隨著網絡的迅速發展,萬維網成為大量信息的載體,如何有效地提取并利用這些信息成為一個巨大的挑戰。例如:傳統的通用搜索引擎AltaVista,Yahoo!和Google等,作為一個輔助人們檢索信息的工具也存在著一定的局限性,通用搜索引擎的目標是盡可能大的網絡覆蓋率,返回的結果包含大量用戶不關心的網頁,為了解決上述問題,定向抓取相關網頁資源的爬蟲應運而生。

? ? ????????由于互聯網數據的多樣性和資源的有限性,根據用戶需求定向抓取網頁并分析,已成為主流的爬取策略。只要你能通過瀏覽器訪問的數據都可以通過爬蟲獲取,爬蟲的本質是模擬瀏覽器打開網頁,獲取網頁中我們想要的那部分數據。

2.爬蟲--組成

模塊核心功能常用工具/技術關鍵優化點
調度器管理URL抓取優先級與任務隊列Scrapy調度器、Redis隊列、RabbitMQ去重策略、分布式任務分配
下載器發送HTTP請求獲取網頁內容requests、aiohttp、Selenium代理輪換、請求頭偽裝、異步并發
解析器提取數據(文本/API響應)BeautifulSoup、XPath、正則表達式動態渲染、數據清洗與結構化
數據存儲持久化存儲抓取結果MySQL/MongoDB、CSV/JSON文件、Elasticsearch批量插入、索引優化
反爬策略繞過反爬機制(驗證碼、頻率限制)代理IP池、OCR打碼、Cookies模擬登錄請求延遲隨機化、User-Agent輪換
監控與日志記錄運行狀態與異常報警logging模塊、Prometheus+Grafana錯誤重試、性能指標可視化

3.爬蟲--URL

術語定義核心功能示例
網頁(Web Page)由HTML/CSS/JavaScript編寫的單個文檔,通過瀏覽器渲染顯示內容。展示文本、圖像、視頻等具體信息。https://example.com/about.html
網站(Website)由多個相互鏈接的網頁組成的集合,共享同一域名和主題。提供完整服務或信息體系(如電商、博客)。https://example.com?(含主頁、子頁面)
網絡服務器(Web Server)存儲網站文件(網頁、圖片等)的硬件/軟件,響應客戶端請求并返回數據。托管網站內容,處理HTTP請求(如Apache、Nginx)。阿里云ECS、AWS EC2實例
搜索引擎(Search Engine)通過爬蟲索引網頁,提供關鍵詞檢索服務的系統。快速定位全網公開資源(如網頁、圖片)。Google、百度、Bing

URL:?

? ? 早在1989年,網絡發明人蒂姆·伯納斯 - 李(Tim Berners-Lee)就提出了網站的三大支柱:

? ? 1)URL ,跟蹤Web文檔的地址系統

? ? 2)HTTP,一個傳輸協議,以便在給定URL時查找文檔

? ? 3)HTML, 允許嵌入超鏈接的文檔格式

? ? ?Web的最初目的是提供一種簡單的方式來訪問,閱讀和瀏覽文本文檔。從那時起,網絡已經發展到提供圖像,視頻和二進制數據的訪問,但是這些改進幾乎沒有改變三大支柱。

? ? 在Web之前,很難訪問文檔并從一個文檔跳轉到另一個文檔。WWW(World Wide Web,萬維網)簡稱為3W,使用統一資源定位符(URL)來標志WWW上的各種文檔。

? ? 完整的工作流程如下∶

  1. Web用戶使用瀏覽器(指定URL)與Web服務器建立連接,并發送瀏覽請求。
  2. Web服務器把URL轉換為文件路徑,并返回信息給 Web瀏覽器。
  3. 通信完成,關閉連接。

? ? HTTP:超文本傳送協議(HTTP)是在客戶程序(如瀏覽器)與WWW服務器程序之間進行交互所使用的協議。HTTP使用統一資源標識符(Uniform Resource Identifiers, URI)來傳輸數據和建立連接,它使用TCP連接進行可靠傳輸,服務器默認監聽在80端口。?

? ? URL:代表統一資源定位器。URL 只不過是 Web 上給定的唯一資源的地址。理論上,每個有效的 URL 都指向一個唯一的資源。此類資源可以是 HTML 頁面、CSS 文檔、圖像等。

組成部分說明**示例(以?http://www.example.com:80/path/to/myfile.html?key1=value1#anchor?為例)
協議指定訪問資源的協議(如?httphttpsftp),后跟?://?分隔符。http:
域名/IP服務器的地址(如?www.example.com?或?192.168.1.1)。www.example.com
端口可選,服務器監聽的端口號(默認端口可省略,如 HTTP 默認?80)。:80(可省略)
資源路徑服務器上資源的路徑,包含虛擬目錄和文件名。/path/to/myfile.html
查詢參數可選,以???開頭,鍵值對形式(如??key1=value1&key2=value2)。?key1=value1
錨點可選,以?#?開頭,指向資源內的特定位置(如 HTML 錨點或視頻時間戳)。#anchor

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/77241.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/77241.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/77241.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C語言超詳細結構體知識

1.自定義類型:結構體的介紹 在之前的博客中,我們簡單介紹過了關于結構體的基本知識,這里我們稍微復習一下。 結構體(struct)是C語言中一種重要的復合數據類型,它允許將不同類型的數據組合成一個整體。 1.1結構體的定義 結構體使…

C++學習:六個月從基礎到就業——內存管理:new/delete操作符

C學習:六個月從基礎到就業——內存管理:new/delete操作符 本文是我C學習之旅系列的第十七篇技術文章,也是第二階段"C進階特性"的第二篇,主要介紹C中動態內存管理的核心操作符——new和delete。查看完整系列目錄了解更多…

15~30K,3年以上golang開發經驗

繼續分享最新的面經,前面發的兩篇大家也可以看看: 「坐標上海,20K的面試強度」「北京七貓,薪資25~35K,瞧瞧面試強度」 今天分享的是golang開發崗面經,要求是3年以上golang開發經驗,薪資為15~3…

Python爬蟲實戰:獲取優志愿專業數據

一、引言 在信息爆炸的當下,數據成為推動各領域發展的關鍵因素。優志愿網站匯聚了豐富的專業數據,對于教育研究、職業規劃等領域具有重要價值。然而,為保護自身數據和資源,許多網站設置了各類反爬機制。因此,如何高效、穩定地從優志愿網站獲取計算機專業數據成為一個具有…

ArcPy工具箱制作(下)

在上一篇博客中,我們已經初步了解了如何制作ArcPy工具箱,包括工具箱的基本概念、準備工作、腳本編寫以及將腳本轉換為工具箱的步驟。今天,我們將繼續深入探討ArcPy工具箱的制作,重點介紹一些進階技巧和優化方法. 一、優化工具箱的…

不一樣的flag 1(迷宮題)

題目 做法 下載壓縮包,解壓,把解壓后的文件拖進Exeinfo PE進行分析 32位,無殼 扔進IDA(32位),找到main,F5反編譯 沒啥關鍵詞,ShiftF12也找不到什么有用的點 從上往下分析吧 puts(…

工程化實踐:Flutter項目結構與規范

工程化實踐:Flutter項目結構與規范 在Flutter項目開發中,良好的工程化實踐對于提高開發效率、保證代碼質量和團隊協作至關重要。本文將從項目結構、代碼規范、CI/CD流程搭建以及包管理等方面,詳細介紹Flutter項目的工程化最佳實踐。 項目結…

[Java · 初窺門徑] Java 語言初識

🌟 想系統化學習 Java 編程?看看這個:[編程基礎] Java 學習手冊 0x01:Java 編程語言簡介 Java 是一種高級計算機編程語言,它是由 Sun Microsystems 公司(已被 Oracle 公司收購)于 1995 年 5 …

1187. 【動態規劃】競賽總分

題目描述 學生在我們USACO的競賽中的得分越多我們越高興。我們試著設計我們的競賽以便人們能盡可能的多得分。 現在要進行一次競賽,總時間T固定,有若干類型可選擇的題目,每種類型題目可選入的數量不限,每種類型題目有一個si(解答…

使用KeilAssistant代替keil的UI界面

目錄 一、keil Assistant的優勢和缺點 二、使用方法 (1)配置keil的路徑 (2)導入并使用工程 (3)默認使用keil自帶的ARM編譯器而非GUN工具鏈 一、keil Assistant的優勢和缺點 在日常學…

【React】通過 fetch 發起請求,設置 proxy 處理跨域

fetch 基本使用跨域處理 fetch 基本使用 在node使用原生ajax發請求:XMLHttpRequest()1.獲取xhr對象 2.注冊回調函數 3.設置參數,請求頭 4.發起連接原生ajax沒有帶異步處理 promise;原生ajax封裝一下,以便重復調用jQuery&#…

Redis(二) - Redis命令詳解

文章目錄 前言一、啟動Redis并進入客戶端1. 啟動Redis2. 進入Redis客戶端3. 使用IDEA連接Redis 二、查看命令幫助信息1. 查看所有命令2. 查看指定命令幫助 三、鍵操作命令1. set命令2. mset命令3. keys命令4. get命令5. mget命令6. dump命令7. exists命令8. type命令9. rename命…

【Qt】初識Qt(二)

目錄 一、顯示hello world1.1 圖形化界面1.2 寫代碼 二、對象樹三、使用輸入框顯示hello world四、使用按鈕顯示hello world 一、顯示hello world 有兩種方式實現hello world: 通過圖形化界面,在界面上創建出一個控件,顯示hello world通過寫…

空調制冷量和功率有什么關系?

空調的制冷量和功率是衡量空調性能的兩個核心參數,二者既有區別又緊密相關,以下是具體解析: 1. 基本定義 制冷量(Cooling Capacity)指空調在單位時間內從室內環境中移除的熱量,單位為 瓦特(W) 或 千卡/小時(kcal/h)。它直接反映空調的制冷能力,數值越大,制冷效果越…

【prometheus+Grafana篇】Prometheus與Grafana:深入了解監控架構與數據可視化分析平臺

💫《博主主頁》:奈斯DB-CSDN博客 🔥《擅長領域》:擅長阿里云AnalyticDB for MySQL(分布式數據倉庫)、Oracle、MySQL、Linux、prometheus監控;并對SQLserver、NoSQL(MongoDB)有了解 💖如果覺得文章對你有所幫…

基于n8n的AI應用工作流原理與技術解析

基于n8n的AI應用工作流原理與技術解析 在AI技術深度融入企業數字化轉型的今天,開源工作流自動化工具n8n憑借其靈活的架構和強大的集成能力,成為構建智能自動化流程的核心引擎。本文將從技術原理、AI融合機制、典型應用場景三個維度,解析n8n在…

經濟指標學習(二)

系列文章目錄 文章目錄 系列文章目錄1、市凈率**一、定義與計算****二、核心意義****三、應用場景****四、局限性****五、分類與衍生指標****總結** 2、市銷率**一、定義與計算****二、核心意義****三、優缺點分析****四、適用場景****五、與其他指標的對比****六、實際應用案例…

大語言模型減少幻覺的常見方案

什么是大語言模型的幻覺 大語言模型的幻覺(Hallucination)是指模型在生成文本時,輸出與輸入無關、不符合事實、邏輯錯誤或完全虛構的內容。這種現象主要源于模型基于概率生成文本的本質,其目標是生成語法合理、上下文連貫的文本&…

CSS 美化頁面(四)

一、浮動float屬性 ?屬性值??描述??適用場景?left元素向左浮動,騰出右側空間供其他元素使用,其他內容會圍繞在其右側?。橫向排列元素(如導航菜單)、圖文混排布局?。right元素向右浮動,騰出左側空間供其他元素使…

如何將 .txt 文件轉換成 .md 文件

一、因為有些軟件上傳文件的時候需要 .md 文件,首先在文件所在的目錄中,點擊“查看”,然后勾選上“文件擴展名”,這個時候該目錄下的所有文件都會顯示其文件類型了。 二、這時直接對目標的 .txt 文件進行重命名,把后綴…