【從零開始學爬蟲】採集貓眼電影熱門資訊數據

来源:https://www.cnblogs.com/forenose/archive/2022/11/25/16924519.html
-Advertisement-
Play Games

一、什麼是數據湖? 在探討數據湖技術或如何構建數據湖之前,我們需要先明確,什麼是數據湖? 數據湖的起源,應該追溯到2010年10月。基於對半結構化、非結構化存儲的需求,同時為了推廣自家的Pentaho產品以及Hadoop,2010年Pentaho的創始人兼CTO James Dixon首次提出了數據 ...


 

l 採集網站

​【場景描述】採集貓眼電影熱門資訊數據。

【源網站介紹】貓眼電影為用戶提供熱點影視資訊,新聞資訊,讓用戶能夠提前瞭解當下即將上映的電影信息。

【使用工具】前嗅ForeSpider數據採集系統,免費下載:

ForeSpider免費版本下載地址

【入口網址】

https://www.maoyan.com/news?showTab=2&offset=0

【採集內容】

採集貓眼電影上的熱門新聞資訊數據,採集欄位:標題、資訊內容。

 

 

 

 

【採集效果】如下圖所示:

 

 

 

l 思路分析

配置思路概覽:

 

 

l 配置步驟

1.新建採集任務

選擇【採集配置】,點擊任務列表右上方【+】號可新建採集任務,將採集入口地址填寫在【採集地址】框中,【任務名稱】自定義即可,點擊下一步。

 

 

 

 

2.獲取翻頁鏈接

採用鏈接過濾的方法來抽取翻頁鏈接,具體如下所示:
①在瀏覽器上先觀察翻頁鏈接規律,找到規律,很明顯翻頁鏈接中都包含:https://www.maoyan.com/news?showTab=2&offset=

 

 

 

 

②設置地址過濾,過濾包含“https://www.maoyan.com/news?showTab=2&offset=”的鏈接,這樣就把翻頁鏈接過濾出來了。 

 

 

 

 

③關聯模板,將翻頁鏈接抽取,關聯模板01。

 

 

 

 

3.抽取列錶鏈接

①新建一個鏈接抽取,改名為【列錶鏈接】,將翻頁鏈接抽取改名為【翻頁鏈接】。

 

 

 

 

②使用鏈接過濾的方法來獲取列錶鏈接,先採集預覽,打開列錶鏈接預覽結果,找到資訊鏈接並觀察規律,發現其中都包括:“https://www.maoyan.com/films/news/+一串數字”

 

 

 

 

 

③設置地址過濾,過濾包含“https://www.maoyan.com/films/news/”的鏈接,這樣就把翻頁鏈接過濾出來了。其中\d表示數字串。

 

 

 

 

4.抽取數據

①新建一個抽取模板,在其下新建一個數據抽取,具體操作如下所示:

 

 

 

②數據建表,按照下圖所示建數據表。(註意欄位屬性等應嚴格按照下圖進行設置)

 

 

 

 

③將新建好的數據表,關聯到模板中去,如下圖所示:

 

 

 

 

 

④填寫示例數據,採集預覽,複製任意一條影評鏈接。

 

 

 

 

⑤將鏈接粘貼到本模板示例地址中,並雙擊內置瀏覽器空白部分,載入本鏈接。

 

 

 

⑥關聯模板
 

 

 

 

 

⑦數據取值

使用定位取值的方法,title欄位如下所示:

 

 

 

 

Text欄位如下所示:

 

 

 

 

⑧採集預覽

採集預覽如下圖所示,說明配置成功,可以開始採集。如果有哪個欄位或者數據沒有出來,再次檢查之前配置,正確配置模板。

 

 

 

 

l 採集步驟

模板配置完成,採集預覽沒有問題後,可以進行數據採集。

①建立數據表單:

選擇【數據建表】,點擊【表單列表】中該模板的表單,在【關聯數據表】中選擇【創建】,表名稱自定義,這裡命名為【maoyan】(註意命名不能用數字和特殊符號),點擊【確定】。創建完成,勾選數據表,並點擊右上角保存按鈕。

 

 

 

 

②開始採集

選擇【數據採集】,勾選任務名稱,點擊【開始採集】,則正式開始採集。

 

 


 

③導出數據

採集結束後,可以在【數據瀏覽】中,選擇數據表查看採集數據,並可以導出數據。

 

 

 

 


 

 

④導出的文件打開如下圖所示:

 

 


 

本教程僅供教學使用,嚴禁用於商業用途!


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • .NET 現在支持跨平臺這件事情已經是眾所周知的特點了,雖然平臺整體支持跨平臺了,但是我們的代碼如果真的想要實現跨平臺運行其實還是有些小細節要註意的,今天想要記錄分享的就是關於 文件I/O操作時路徑的拼接問題。 在 Windows 環境下我們常見的路徑格式如下: D:\Software\AppDat ...
  • 本文是 《精讀 Mastering ABP Framework》 2.3 探索橫切關註點 - 使用授權和許可權系統 一節的擴充內容,重點探討了授權在分散式和微服務系統中遇到的挑戰,以及 ABP Framework 中採用的解決方案。 ...
  • 在所有監控 Linux 系統性能的工具中,Linux 的 top 命令是最好的也是最知名的一個(htop 是其升級版)。top 命令提供了 Linux 系統運行中的進程的動態實時視圖。它能顯示系統的概覽信息和 Linux 內核當前管理的進程列表。它顯示了大量的系統信息,如 CPU 使用、記憶體使用、交... ...
  • Docker和Docker-Compose簡單搭建與基本設置 一、搭建 Docker 1.第一步當然是看官方文檔 2.然後發現一大堆手動搭建的教程(然後小白就這樣搭建了),然後發現最後有一鍵搭建腳本 curl -fsSL https://get.docker.com -o get-docker.sh ...
  • 字元設備是按照位元組流進行讀寫操作的設備,讀寫數據是分先後順序的。常見的點燈、按鍵、 IIC、 SPI和LCD 等都是字元設備 。 字元設備驅動開發步驟: 總體思路: 定義並初始化一個字元設備 -1、定義一個字元設備—>struct cdev 2、定義並初始化字元設備的文件操作集—>struct fi ...
  • 使用的MCU型號為 AIR32F103CCT6. 通過工作機制和示例代碼, 說明如何使用AIR32自帶的記憶體實現簡單的語音錄製和播放功能, 以及使用 ADPCM 對音頻數據進行壓縮, 提高錄製時長. 通過這些機制, 可以快速擴充為實用的錄製設備, 例如外掛I2C或SPI存儲, 或提升無線傳輸的音質,... ...
  • Python基礎之MySQL資料庫 一、SQL語句常用查詢方法 前期數據準備 ​ 為了更加直觀的展示、演示SQL語句查詢關鍵字,需導入下列表格與記錄(數據) ​ 模擬公司,導入創建公司員工表,表內包含:ID、姓名、年齡、工作時間、崗位 創建人員表格: create table emp( id int ...
  • 在 4.2 版本及更高版本中,MongoDB 提供了事務的支持,並且在其是分散式資料庫的基礎上,提供了支持跨多個操作、集合、資料庫、文檔和分片的 ACID 事務。 ...
一周排行
    -Advertisement-
    Play Games
  • Timer是什麼 Timer 是一種用於創建定期粒度行為的機制。 與標準的 .NET System.Threading.Timer 類相似,Orleans 的 Timer 允許在一段時間後執行特定的操作,或者在特定的時間間隔內重覆執行操作。 它在分散式系統中具有重要作用,特別是在處理需要周期性執行的 ...
  • 前言 相信很多做WPF開發的小伙伴都遇到過表格類的需求,雖然現有的Grid控制項也能實現,但是使用起來的體驗感並不好,比如要實現一個Excel中的表格效果,估計你能想到的第一個方法就是套Border控制項,用這種方法你需要控制每個Border的邊框,並且在一堆Bordr中找到Grid.Row,Grid. ...
  • .NET C#程式啟動閃退,目錄導致的問題 這是第2次踩這個坑了,很小的編程細節,容易忽略,所以寫個博客,分享給大家。 1.第一次坑:是windows 系統把程式運行成服務,找不到配置文件,原因是以服務運行它的工作目錄是在C:\Windows\System32 2.本次坑:WPF桌面程式通過註冊表設 ...
  • 在分散式系統中,數據的持久化是至關重要的一環。 Orleans 7 引入了強大的持久化功能,使得在分散式環境下管理數據變得更加輕鬆和可靠。 本文將介紹什麼是 Orleans 7 的持久化,如何設置它以及相應的代碼示例。 什麼是 Orleans 7 的持久化? Orleans 7 的持久化是指將 Or ...
  • 前言 .NET Feature Management 是一個用於管理應用程式功能的庫,它可以幫助開發人員在應用程式中輕鬆地添加、移除和管理功能。使用 Feature Management,開發人員可以根據不同用戶、環境或其他條件來動態地控制應用程式中的功能。這使得開發人員可以更靈活地管理應用程式的功 ...
  • 在 WPF 應用程式中,拖放操作是實現用戶交互的重要組成部分。通過拖放操作,用戶可以輕鬆地將數據從一個位置移動到另一個位置,或者將控制項從一個容器移動到另一個容器。然而,WPF 中預設的拖放操作可能並不是那麼好用。為瞭解決這個問題,我們可以自定義一個 Panel 來實現更簡單的拖拽操作。 自定義 Pa ...
  • 在實際使用中,由於涉及到不同編程語言之間互相調用,導致C++ 中的OpenCV與C#中的OpenCvSharp 圖像數據在不同編程語言之間難以有效傳遞。在本文中我們將結合OpenCvSharp源碼實現原理,探究兩種數據之間的通信方式。 ...
  • 一、前言 這是一篇搭建許可權管理系統的系列文章。 隨著網路的發展,信息安全對應任何企業來說都越發的重要,而本系列文章將和大家一起一步一步搭建一個全新的許可權管理系統。 說明:由於搭建一個全新的項目過於繁瑣,所有作者將挑選核心代碼和核心思路進行分享。 二、技術選擇 三、開始設計 1、自主搭建vue前端和. ...
  • Csharper中的表達式樹 這節課來瞭解一下表示式樹是什麼? 在C#中,表達式樹是一種數據結構,它可以表示一些代碼塊,如Lambda表達式或查詢表達式。表達式樹使你能夠查看和操作數據,就像你可以查看和操作代碼一樣。它們通常用於創建動態查詢和解析表達式。 一、認識表達式樹 為什麼要這樣說?它和委托有 ...
  • 在使用Django等框架來操作MySQL時,實際上底層還是通過Python來操作的,首先需要安裝一個驅動程式,在Python3中,驅動程式有多種選擇,比如有pymysql以及mysqlclient等。使用pip命令安裝mysqlclient失敗應如何解決? 安裝的python版本說明 機器同時安裝了 ...