首页
/
每日頭條
/
科技
/
開發正則表達式引擎
開發正則表達式引擎
更新时间:2025-11-02 01:12:13

今天2022年8月15日是紀念日本投降的日子,也是我寫學習筆記的第一天,可謂是喜上加囍。我想和大家分享一下我今天學習python網絡爬蟲的囧事以及從中得到的一些感悟,也算是對自己學習曆程的一個記錄吧。

今天,我試着用正則表達式解析網頁源碼,獲取、清洗和打印數據,這個過程看似簡單卻不那麼順利。今天我主要爬取的是中國證券報網上的一些網站、标題和時間。跟着書依葫蘆畫瓢,在寫好程序後,我就“shift enter”了一下,顯示結果報錯。一看錯誤提示是“IndexError: list index out of range”,索引超出了範圍,如下圖所示。

開發正則表達式引擎(學用正則表達解析網頁源碼)1

于是,跟着提示的指引,我回到程序去分析和查找原因,但奈何經驗與能力有限,花了我半個多小時也沒解決得了錯誤,其間還上網查了一下,也無濟于事。心态逐漸開始炸裂了。但是,我也不是遇到點問題就輕言放棄的人,心裡那股不解決問題、絕不罷休的勁兒,促使着我又去找方法解決。

隻要思想不滑坡,方法總比困難多。我又回到了那本學習參考書,仔仔細細地與其比對看看哪裡不一樣,功夫不負有心人,我還真找到了一個差異點。這個差異點就是在用正則表達式來表示時間時少寫了一個“.*?”,如下圖所示。果然,該錯誤成功解除啦。但很不幸,又出現了一個新錯誤。

開發正則表達式引擎(學用正則表達解析網頁源碼)2

為什麼這裡需要寫上“.*?”?我認為主要是“ ” 與“ ”之間存在空行(如下圖所示),不加上“.*?”将空行忽略掉的話,re.findall()匹配的時候就會提取不到時間,從而導緻時間列表為空,出現程序錯誤。這一問題實際上是暴露了我對正則表達的學習理解還不太好,需要多做練習來進一步加強認知、積累經驗。

開發正則表達式引擎(學用正則表達解析網頁源碼)3

再來說一下這個新錯誤,錯誤如下圖所示。該錯誤主要是split()函數的一個誤用。誤用在分割符裡多加了一個空字符串,不符合split函數的語法使用要求而引起的報錯。不過我很好奇,我參考的這本書也是這樣寫的,居然沒有報錯。看來知識掌握的不透,很容易就會被書誤導呀。

開發正則表達式引擎(學用正則表達解析網頁源碼)4

split()函數的誤用,暴露了我對該知識點的欠缺。非常感謝這次報錯,讓我發現了知識盲點,有機會重新去加深學習、理解和應用。我重新把split()函數這個知識點總結在下面,加深理解和方便查看。

split():拆分字符串。通過指定分隔符對字符串進行切片,并返回分割後的字符串列表(list)

語法:str.split(str="",num=string.count(str))[n]

參數說明:

str:表示為分隔符,默認為空格,但是不能為空(’’)。若字符串中沒有分隔符,則把整個字符串作為列表的一個元素

num:表示分割次數。如果存在參數num,則僅分隔成 num 1 個子字符串,并且每一個子字符串可以賦給新的變量

[n]:表示選取第n個分片

總結:

1、遇到問題不要退縮,方法總比困難多,堅持去尋找和思考,問題總會被解決,也終會有所收獲。

2、知識是否學會,應用一下便見分曉。

3、實踐才能出真知。唯有多動手操作和勤練習,才能發現自己的不足、加深對知識的理解與應用,進而提高解決問題的能力。

4、盡信書不如無書。不能無腦接受,盲目相信,需要有批判精神,多自我思考總結,才會有所進步。

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
蘋果手機黑屏開不了機怎麼辦
蘋果手機黑屏開不了機怎麼辦
1、先給手機充下電、看看是否是手機沒電的原因。2、再次按開機鍵、看看是否能正常開機。3、如果還是不行、按住Home鍵+Power鍵不放,直到出現蘋果标識、就可以開機了。
2025-11-02
聯想按f12沒有u盤啟動
聯想按f12沒有u盤啟動
聯想按f12沒有u盤啟動的原因是打開設置U盤啟動的快捷鍵不對。1、首先需要将u盤制作成u啟動u盤啟動...
2025-11-02
加濕器不出霧是什麼原因怎麼修
加濕器不出霧是什麼原因怎麼修
加濕器霧化片出現故障:打開底蓋先檢查是否是保險絲燒了,如保險是好的則試着調節電路闆上的電位器,順時針轉四分之一圈,如果是加濕器還是不噴霧,則考慮換掉霧化片。加濕器機器風扇出現故障:如果加濕器能夠運轉但是沒有水霧噴出,則有可能就是風扇出現故障,建議送去檢修。加濕器有風無霧故障:如果加濕器有風無霧,則有可能是長時間使用自來水,停留的水垢緻使震蕩片上結了水堿,不能正常運轉,霧自然就少了或噴不出來。使用家
2025-11-02
電暖氣有異味會中毒嗎
電暖氣有異味會中毒嗎
不會,是正常現象。先将電暖氣有濕抹布擦幹淨,然後在電暖氣上面及周圍放一些柚子皮或洋蔥,就能去除電暖氣的異味。由于電暖器會釋放出大量熱氣,為保證電暖器正常工作,需把電暖器放在有利于散熱的地方,不要把電暖器直接放在地闆上,以免釋放出來的熱量灼傷地闆。電暖氣如何清洗:進入冬季,人們最常使用的就是電暖器了,...
2025-11-02
qq皇冠多少級
qq皇冠多少級
一個皇冠是64級。QQ等級最初是星星,4個星星兌換一個月亮,4個月亮兌換一個太陽,4個太陽兌換一個皇冠。1個星星是1級,一個月亮是4級,一個太陽是16級,一個皇冠是64級。每天在線兩個小時記為1天,半小時以上、兩小時以下則記為0.5天。QQ等級是衡量QQ用戶活躍情況的一個标準。用戶可以根據每天累計在線時間或獲取其他加速服務來升級,2003年推出。
2025-11-02
Copyright 2023-2025 - www.tftnews.com All Rights Reserved