【Delphi 爬蟲庫 6】使用正則表達式提取貓眼電影排行榜top100

正則表達式庫的簡單介紹

正則表達式易于使用,功能強大,可用于復雜的搜索和替換以及基于模板的文本檢查。這對于輸入形式的用戶輸入驗證特別有用-驗證電子郵件地址等。您還可以從網頁或文檔中提取電話號碼,郵政編碼等,在日志文件中搜索復雜的模式,然后您就可以想象得到。無需重新編譯程序即可更改規則(模板)。

分析貓眼電影數據

https://www.maoyan.com/board/4?offset=0
有10部電影
https://www.maoyan.com/board/4?offset=10
又有10部電影,以此類圖+10

分析其中一部電影的網頁源碼:

<dd><i class="board-index board-index-2">2</i><a href="/films/1297" title="肖申克的救贖" class="image-link" data-act="boarditem-click" data-val="{movieId:1297}"><img src="//s3.meituan.net/static-prod01/com.sankuai.movie.fe.mywww-files/image/loading_2.e3d934bf.png" alt="" class="poster-default" /><img data-src="https://p0.pipi.cn/mmdb/fb7386020fa51b0fafcf3e2e3a0bbe694d17d.jpg?imageView2/1/w/160/h/220" alt="肖申克的救贖" class="board-img" /></a><div class="board-item-main"><div class="board-item-content"><div class="movie-item-info"><p class="name"><a href="/films/1297" title="肖申克的救贖" data-act="boarditem-click" data-val="{movieId:1297}">肖申克的救贖</a></p><p class="star">主演:蒂姆·羅賓斯,摩根·弗里曼,鮑勃·岡頓</p>
<p class="releasetime">上映時間:1994-09-10(加拿大)</p>    </div><div class="movie-item-number score-num">
<p class="score"><i class="integer">9.</i><i class="fraction">5</i></p>        </div></div></div>
</dd>

構造正則表達式:
<dd>.*?board-index.*?>(.*?)</i>.*?data-src="(.*?)".*?name.*?a.*?>(.*?)</a>.*?star.*?>(.*?)</p>.*?releasetime.*?>(.*?)</p>.*?integer.*?>(.*?)</i>.*?fraction.*?>(.*?)</i>.*?</dd>

提取數據保存

function ExtractMovies(const AInputString: string; ATemplate: string): string;
constMovieRE = '<dd>.*?board-index.*?>(.*?)</i>.*?data-src="(.*?)".*?name.*?a.*?>(.*?)</a>.*?star.*?>(.*?)</p>.*?releasetime.*?>(.*?)</p>.*?integer.*?>(.*?)</i>.*?fraction.*?>(.*?)</i>.*?</dd>';
varr           : TRegExpr;OutputString: string;
beginResult := '';r      := TRegExpr.Create;tryr.Expression := MovieRE;if r.Exec(AInputString) thenrepeatResult := Result + Format('{''image'':''%1s'',''actor'':''%2s'',''score'':''%3s'',''index'':''%4s'',''tit1e'':''%5s'',''time'':''%6s''}',[r.Match[2], Trim(r.Match[4]), r.Match[6] + r.Match[7], Trim(r.Match[1]), r.Match[3], r.Match[5]]) + sLineBreak;until not r.ExecNext;finallyr.Free;end;
end;

返回數據:
在這里插入圖片描述

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

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

相關文章

人生是曠野,不是軌道

最近看到一句話&#xff0c;很喜歡&#xff0c;分享一下。"人生是曠野&#xff0c;不是軌道"。人生不是固定的方程式&#xff0c;也沒有唯一答案&#xff0c;沒有誰生來就應該是什么樣。別太被太多世俗觀念束縛住手腳&#xff0c;每個人都有權利自由生長&#xff0c;…

用友暢捷通T+ keyEdit sql注入漏洞

產品介紹 暢捷通 T 是一款靈動&#xff0c;智慧&#xff0c;時尚的基于互聯網時代開發的管理軟件&#xff0c;主要針對中小型工貿與商貿企業&#xff0c;尤其適合有異地多組織機構&#xff08;多工廠&#xff0c;多倉庫&#xff0c;多辦事處&#xff0c;多經銷商&#xff09;的…

朋友圈刷屏的粘土風格照片,你體驗過了嗎?

Remini 的粘土風格真的丑萌丑萌的&#xff01; 從去年“妙鴨相機”的走紅&#xff0c;到今年Remini的刷屏&#xff0c;其實可以看出大眾對于圖片趣玩的興趣非常大&#xff01; 一張普通的照片經過工具的處理&#xff0c;一下子變成新風格&#xff0c;讓人眼前一亮。如果你也對…

GPT-SoVits:語音克隆,語音融合

首發網站 https://tianfeng.space 前言 零樣本文本到語音&#xff08;TTS&#xff09;&#xff1a; 輸入 5 秒的聲音樣本&#xff0c;即刻體驗文本到語音轉換。少樣本 TTS&#xff1a; 僅需 1 分鐘的訓練數據即可微調模型&#xff0c;提升聲音相似度和真實感。跨語言支持&…

信息收集方法合集 第1期

前言 在工作中&#xff0c;經常被問到某個文件怎么下載&#xff0c;原文來自哪里。索性把我知道的所有信息收集方法全部整理一遍&#xff0c;希望對大家有用&#xff0c;如果有幫助到你&#xff0c;非常榮幸&#xff0c;我會堅持分享我的學習、工作經驗。 信息種類&#xff1…

如何用java編寫一個猜數字游戲

我想到用c能編出一個猜數字游戲&#xff0c;于是我就嘗試用java編寫一個 代碼如下&#xff1a; import java.util.Scanner; import java.util.Random;public class GuessTheNumber {public static void main(String[] args) {Scanner scanner new Scanner(System.in);Random…

云啟未來:“云計算與網絡運維精英交流群”與“獨家資料”等你來探索“

作者簡介&#xff1a;一名云計算網絡運維人員、每天分享網絡與運維的技術與干貨。 公眾號&#xff1a;網絡豆云計算學堂 座右銘&#xff1a;低頭趕路&#xff0c;敬事如儀 個人主頁&#xff1a; 網絡豆的主頁????? &#x1f680; 云計算與運維精英交流群誠邀您的加入…

搭建Docker私服鏡像倉庫Harbor

1、概述 Harbor是由VMware公司開源的企業級的Docker Registry管理項目&#xff0c;它包括權限管理(RBAC)、LDAP、日志審核、管理界面、自我注冊、鏡像復制和中文支持等功能。 Harbor 的所有組件都在 Dcoker 中部署&#xff0c;所以 Harbor 可使用 Docker Compose 快速部署。 …

PermissionError: [Errno 13] Permission denied: ‘xx.xlsx‘的解決辦法

我在轉換文件的時候遇到這個報錯&#xff0c;原因是文件名與已有文件名重復了 解決辦法很簡單&#xff0c;如下圖把" " 里的名字換成不重復的&#xff0c;再次允許代碼&#xff0c;會恢復正常

ue引擎游戲開發筆記(37)——實現敵人接收攻擊傷害,并作出反應

1.需求分析&#xff1a; 現在已經顯示造成實際傷害&#xff0c;但敵人對實際傷害并未產生反饋&#xff0c;例如還擊&#xff0c;或者死亡倒地等等&#xff0c;實現敵人對于受擊的反饋。 2.操作實現&#xff1a; 1.思路&#xff1a;在動畫藍圖中添加死亡動畫&#xff0c;并通過…

【姿態解算與濾波算法】

姿態解算 一、主線 姿態表示方式&#xff1a;矩陣表示&#xff0c;軸角表示&#xff0c;歐拉角表示&#xff0c;四元數表示。 慣性測量單元IMU&#xff08;Inertial Measurement Unit&#xff09;&#xff1a;MPU6050芯片&#xff0c;包含陀螺儀和加速度計&#xff0c;分別測…

winhex工具,將文件轉換為16進制數據放入代碼。

今天介紹winhex工具&#xff0c;可以將任何內容讀取讀取為16進制數據。下面看下效果。 下載鏈接&#xff1a; WinHex: Hex Editor & Disk Editor, Computer Forensics & Data Recovery Software 一、WinHex打開文件 我們要打開的文件&#xff1a; 打開后&#xff1a; 我…

服務器遠程桌面局域網連接不上的解決方法

在企業網絡環境中&#xff0c;服務器遠程桌面局域網連接不上是一個常見且棘手的問題。這種問題可能導致工作效率下降&#xff0c;甚至影響業務運營。因此&#xff0c;我們需要采取專業的方法來解決這一問題。 服務器遠程桌面局域網連接不上的解決方法&#xff1a; 1、確保服務器…

SQL注入-通達OA SQL注入漏洞【CVE-2023-4166】原理及檢測思路分析

1、漏洞描述 通達OA中發現一個漏洞&#xff0c;并被列為嚴重漏洞。該漏洞影響文件general/system/seal_manage/dianju/delete_log.php的未知代碼。對參數 DELETE_STR 的操作會導致 sql 注入。 2、影響范圍 通達OA版本11.10之前 3、復現環境 FOFA搜索&#xff1a;app"TDX…

解鎖網站SEO優勢,百度站長工具助您一臂之力(百度站長平臺還提供了哪些工具供seo人員使用?)

在當今數字化時代&#xff0c;網站已經成為企業宣傳、產品銷售、信息發布的主要渠道之一。有著再好的網站&#xff0c;如果在百度等搜索引擎中無法被用戶搜索到&#xff0c;那就等于白搭。因此&#xff0c;網站的SEO優化顯得尤為重要。而作為國內最大的搜索引擎&#xff0c;百度…

LoRa模塊學習

什么是LoRa調制 LoRa&#xff08;Long Range&#xff0c;遠距離&#xff09;是一種調制技術&#xff0c;與同類技術相比&#xff0c;提供更長的通信距離。調制是基于擴頻技術&#xff0c;線性調制擴頻&#xff08;CSS&#xff09;的一個變種&#xff0c;具有前向糾錯&#xff…

安裝SQL Server詳細教程_sql server安裝教程

一&#xff0c;SQL Server數據庫安裝 1.首先&#xff0c;下載安裝程序 &#xff08;1&#xff09;從網盤下載安裝exe 點擊此處直接下載 &#xff08;2&#xff09;從官網下載安裝exe文件 在官網選擇Developer進行下載 2.開始安裝 雙擊安裝程序&#xff0c;開始安裝 這里直…

python-pytorch seq2seq+attention筆記0.5.00

python-pytorch seq2seq+attention筆記0.5.00 1. LSTM模型的數據size2. 關于LSTM的輸入數據包含hn和cn時,hn和cn的size3. LSTM參數中默認batch_first4. Attention機制的三種算法5. 模型的編碼器6. 模型的解碼器7. 最終模型8. 數據的準備9. 遇到的問題10. 完整代碼1. LSTM模型的…

PHP數值數組講解,for循環及函數 遍歷數組獲取元素

源碼 <?phpheader("Content-Type:text/html;Charsetutf8");//創建數值數組$arr1 array();//簡化創建語法 $arr2 [];//通過索引為數組添加不同類型的元素$arr1[0] "zhangsan" ;//也可以亂序添加元素$arr1[2] 12 ;$arr1[1] true ; //true輸出為1 f…

搭建vue3組件庫(四): 樣式庫搭建

文章目錄 1. 樣式目錄文件架構2. SCSS 樣式變量2.1 設置顏色 SCSS 變量2.2 設置多種類型主題2.3 生成全局類型主題 SCSS 變量2.4 分組生成 SCSS 變量 1. 樣式目錄文件架構 packages/theme-chalk 目錄結構&#xff1a; ├── packages │ ├── theme-chalk │ │ ├─…