日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

【Python 爬虫】 4、爬虫基本原理

發布時間:2025/3/20 python 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Python 爬虫】 4、爬虫基本原理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

爬蟲基本原理

爬蟲的基本流程

1、獲取網頁源代碼:通過請求庫實現,urllib,requests等實現HTTP請求;

2、提取信息:分析網頁源代碼,提取數據,如正則表達式,beautiful soup,pyquery,Ixml等;

3、保存數據:保存至txt,json或數據庫;

抓什么數據

  • HTML代碼;
  • Json字符串(api接口,手機端大部分是這種數據格式);
  • 二進制文件(圖片,音頻,視頻等);
  • 各種擴展名的文件(css,Javascript,各種配置文件等);

Javascript渲染頁面

用urllib或者requests抓取網頁的時候,得到的源代碼和瀏覽器中看到的不一樣。

越來越多的網頁采用ajax、前端模塊化工具來構建,整個網頁都是Javascript渲染出來的。需要分析ajax接口,或者使用selenium等庫實現模擬Javascript渲染。

【頁面渲染】

頁面渲染就是瀏覽器的渲染引擎將HTML代碼根據CSS定義的規則顯示在瀏覽器窗口中的過程。

大致工作原理如下:

  • 用戶輸入網址,瀏覽器向服務器發出請求,服務器返回html文件;
  • 渲染引擎開始載入html代碼,并將HTML中的標簽轉化為DOM節點,生成DOM樹;
  • 如果引用了外部CSS文件,則發出CSS文件請求,服務器返回該文件;
  • 如果引用了外部JS文件,則發出JS文件請求,服務器返回該文件后開始運行;
  • 渲染引擎繼續載入html中的部分的代碼,并開始解析前面返回的CSS文件,然后根據CSS選擇器計算出節點的樣式,創建渲染樹;
  • 從根節點遞歸調用,計算每一個元素的大小、位置等,給每個節點所應該出現在屏幕上的精確坐標;
  • 如果body中的引用了圖片資源,則立即向服務器發出請求,此時渲染引擎不會等待圖片下載完畢,而是繼續渲染后面的代碼;
  • 服務器返回圖片文件,由于圖片占用了一定面積,影響了后面段落的排版,因此引擎需要回過頭來重新渲染這部分代碼;
  • 如果此時JS腳本中運行了style.display=”none”, 布局被改變,引擎也需要重新渲染這部分代碼;
  • 直到頁面渲染完畢。

cookies

cookies在瀏覽器端,在訪問動態網頁時候瀏覽器會自動附帶上它并發送給服務器,服務器通過識別cookies并鑒定其是哪個用戶,判斷其是否登錄狀態,然后返回對應的響應。

爬蟲代理

代理網絡用戶去取得網絡信息;

代理的作用:突破自身IP訪問限制,訪問團體內部資源,提高訪問速度,隱藏真實IP;

爬蟲代理可以獲得較好的爬取效果(防止被封禁或者輸入驗證碼登錄);

檢查robots.txt

Robots協議(也稱之為爬蟲協議、機器人協議等)的全稱是“網絡爬蟲排除標準”(Robots Exclusion Protocol),網站通過Robots協議告訴搜索引擎哪些頁面可以抓取,哪些頁面不能抓取。

當一個搜索蜘蛛訪問一個站點時,它會首先檢查該站點根目錄下是否存在robots.txt,如果存在,搜索機器人就會按照該文件中的內容來確定訪問的范圍;如果該文件不存在,所有的搜索蜘蛛將能夠訪問網站上的所有沒有被口令保護的頁面。

?

爬蟲的攻與防

?

總結

以上是生活随笔為你收集整理的【Python 爬虫】 4、爬虫基本原理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。