新聞中心
一、前言
大家好,我是Python進(jìn)階者。前幾天在Python交流群里邊有個(gè)叫【Arkham】的粉絲問(wèn)了一個(gè)小問(wèn)題。

十載的托克托網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。成都營(yíng)銷網(wǎng)站建設(shè)的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整托克托建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無(wú)論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。成都創(chuàng)新互聯(lián)從事“托克托網(wǎng)站設(shè)計(jì)”,“托克托網(wǎng)站推廣”以來(lái),每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。
一開始還是覺(jué)得挺奇怪的,瞅著這個(gè)格式十分像是json格式,直接用json提取不香么,但是后來(lái)發(fā)現(xiàn)就是這么個(gè)格式,而且硬是要提取這個(gè)里邊的文本信息。
二、思路
一般的,針對(duì)文本提取,正則表達(dá)式是首選,十分是方便快捷。
這里給出了兩個(gè)方法,感謝【(這是月亮的背面)】和【數(shù)據(jù)分析新手-瑜亮】?jī)晌淮罄刑峁┑乃悸贰?/p>
三、項(xiàng)目實(shí)現(xiàn)
這里給大家安排兩種方法,一起來(lái)看看吧!文本信息就放這里,大家回頭拿到也可以嘗試練練手。
Top2 26
Top2 "word":"經(jīng)紀(jì)人不得為假唱假演奏提供條件"
Top2 "query":"經(jīng)紀(jì)人不得為假唱假演奏提供條件"
Top2 "show":[]
Top2 "desc":"18日,文旅部發(fā)布關(guān)于《演出經(jīng)紀(jì)人員管理辦法(征求意見稿)》公開征求意見的公告。征求意見稿指出,演出經(jīng)紀(jì)人員不得為演員假唱、假演奏提供條件。"
Top2 "img":"https://fyb-1.cdn.bcebos.com/fyb-1//5b4bc1de60744e69f34225af1452a395"
Top2 "url":"https://www.baidu.com/s?wd=%E7%BB%8F%E7%BA%AA%E4%BA%BA%E4%B8%8D%E5%BE%97%E4%B8%BA%E5%81%87%E5%94%B1%E5%81%87%E6%BC%94%E5%A5%8F%E6%8F%90%E4%BE%9B%E6%9D%A1%E4%BB%B6&rsv_dl=fyb_news"
Top2 "rawUrl":"https://www.baidu.com/s?wd=%E7%BB%8F%E7%BA%AA%E4%BA%BA%E4%B8%8D%E5%BE%97%E4%B8%BA%E5%81%87%E5%94%B1%E5%81%87%E6%BC%94%E5%A5%8F%E6%8F%90%E4%BE%9B%E6%9D%A1%E4%BB%B6"
Top2 "hotScore":"2325661"
Top2 "hotChange":"same"
Top2 "hotTag":"0"
Top2 "appUrl":"https://www.baidu.com/s?wd=%E7%BB%8F%E7%BA%AA90%E4%BE%9B%E6%9D%A1%E4%BB%B6&rsv"
1、正則表達(dá)式
這個(gè)方法十分奏效,代碼如下。
# -*- coding: utf-8 -*-
import re
text = """
Top2 26
Top2 "word":"經(jīng)紀(jì)人不得為假唱假演奏提供條件"
Top2 "query":"經(jīng)紀(jì)人不得為假唱假演奏提供條件"
Top2 "show":[]
Top2 "desc":"18日,文旅部發(fā)布關(guān)于《演出經(jīng)紀(jì)人員管理辦法(征求意見稿)》公開征求意見的公告。征求意見稿指出,演出經(jīng)紀(jì)人員不得為演員假唱、假演奏提供條件。"
Top2 "img":"https://fyb-1.cdn.bcebos.com/fyb-1//5b4bc1de60744e69f34225af1452a395"
Top2 "url":"https://www.baidu.com/s?wd=%E7%BB%8F%E7%BA%AA%E4%BA%BA%E4%B8%8D%E5%BE%97%E4%B8%BA%E5%81%87%E5%94%B1%E5%81%87%E6%BC%94%E5%A5%8F%E6%8F%90%E4%BE%9B%E6%9D%A1%E4%BB%B6&rsv_dl=fyb_news"
Top2 "rawUrl":"https://www.baidu.com/s?wd=%E7%BB%8F%E7%BA%AA%E4%BA%BA%E4%B8%8D%E5%BE%97%E4%B8%BA%E5%81%87%E5%94%B1%E5%81%87%E6%BC%94%E5%A5%8F%E6%8F%90%E4%BE%9B%E6%9D%A1%E4%BB%B6"
Top2 "hotScore":"2325661"
Top2 "hotChange":"same"
Top2 "hotTag":"0"
Top2 "appUrl":"https://www.baidu.com/s?wd=%E7%BB%8F%E7%BA%AA%E4%BA%BA%E40%E4%BE%9B%E6%9D%A1%E4%BB%B6&rsv"
"""
regex = re.findall(r'":"(.*?)"', text)
for data in regex:
print(data)
運(yùn)行之后,可以得到想要的結(jié)果,如下圖所示。
2、split()
這個(gè)方法是來(lái)自【(這是月亮的背面)】大佬的思路,后來(lái)我自己寫了小代碼如下。
# -*- coding: utf-8 -*-
import re
text = """
Top2 26
Top2 "word":"經(jīng)紀(jì)人不得為假唱假演奏提供條件"
Top2 "query":"經(jīng)紀(jì)人不得為假唱假演奏提供條件"
Top2 "show":[]
Top2 "desc":"18日,文旅部發(fā)布關(guān)于《演出經(jīng)紀(jì)人員管理辦法(征求意見稿)》公開征求意見的公告。征求意見稿指出,演出經(jīng)紀(jì)人員不得為演員假唱、假演奏提供條件。"
Top2 "img":"https://fyb-1.cdn.bcebos.com/fyb-1//5b4bc1de60744e69f34225af1452a395"
Top2 "url":"https://www.baidu.com/s?wd=%E7%BB%8F%E7%BA%AA%E4%BA%BA%E4%B8%8D%E5%BE%97%E4%B8%BA%E5%81%87%E5%94%B1%E5%81%87%E6%BC%94%E5%A5%8F%E6%8F%90%E4%BE%9B%E6%9D%A1%E4%BB%B6&rsv_dl=fyb_news"
Top2 "rawUrl":"https://www.baidu.com/s?wd=%E7%BB%8F%E7%BA%AA%E4%BA%BA%E4%B8%8D%E5%BE%97%E4%B8%BA%E5%81%87%E5%94%B1%E5%81%87%E6%BC%94%E5%A5%8F%E6%8F%90%E4%BE%9B%E6%9D%A1%E4%BB%B6"
Top2 "hotScore":"2325661"
Top2 "hotChange":"same"
Top2 "hotTag":"0"
Top2 "appUrl":"https://www.baidu.com/s?wd=%E7%BB%8F%E7%BA%AA%E4%BA%BA%E40%E4%BE%9B%E6%9D%A1%E4%BB%B6&rsv"
"""
raw_text = text.strip('\n').split('Top2 ')
for text in raw_text:
print(text.split('":"')[-1].replace('"', ''))
處理起來(lái)還是相對(duì)費(fèi)勁的,而且不那么智能,針對(duì)文本定制的,比較“死板”,雖然勉強(qiáng)可以實(shí)現(xiàn),可是還是不太建議。
四、總結(jié)
本文從實(shí)際工作出發(fā),基于Python編程,針對(duì)網(wǎng)絡(luò)爬蟲過(guò)程中得到的字符串,使用正則表達(dá)式和字符串處理函數(shù)split(),完成了字符串的處理,滿足粉絲的要求。
分享標(biāo)題:盤點(diǎn)一道Python網(wǎng)絡(luò)爬蟲中使用正則表達(dá)式匹配字符的題目
網(wǎng)頁(yè)鏈接:http://www.dlmjj.cn/article/cohgcie.html


咨詢
建站咨詢
