用beautifulsoup讀取萬(wàn)年歷適宜結(jié)婚的大日子
需求來(lái)源:
事情的經(jīng)過(guò)是這樣的,我長(zhǎng)租了酒店的停車(chē)位,每當(dāng)農(nóng)歷結(jié)婚的日子來(lái)臨之際,酒店的車(chē)輛就爆增,我的車(chē)被連續(xù)堵在里面三次,堵車(chē)的后果是什么,打電話給車(chē)主沒(méi)人接,他可能在酒店里吃好喝好呢,我只能等他吃好喝好之后再回家吃冷飯,我想不能再這樣下去了。經(jīng)過(guò)長(zhǎng)時(shí)間的反思我覺(jué)得我需要提前給自己做一個(gè)提醒。
提醒自己在以后周五的日子里看看萬(wàn)年歷里面是不是這一天適合結(jié)婚,如果是那要提前把車(chē)挪到安全的地方,避免自己吃冷飯。
嘗試方法:
周日的下午開(kāi)始著手嘗試解決這個(gè)問(wèn)題
嘗試了selenium,結(jié)果卡在chromedriver都打不開(kāi)網(wǎng)頁(yè)的階段,abandon;
繼續(xù)嘗試用request加正則表達(dá)式,用.*?, (.*?)確實(shí)抓取出來(lái)數(shù)據(jù)了,但是是一大坨沒(méi)有順序,就是一整個(gè)月的混在一起,分不清東南西北,abandon;
再?lài)L試用beautifulsoup,剛看開(kāi)看的云里霧里,感覺(jué)不行,又重復(fù)了上面的辦法循環(huán)兩次,還是失敗
晚上開(kāi)完P(guān)ython學(xué)習(xí)小會(huì),繼續(xù)嘗試用beautifulsoup,去看了文檔內(nèi)容,https://beautiful-soup-4.readthedocs.io/en/latest/,耐心的過(guò)了一下下,還真的嘗試出來(lái)了方法
代碼如下:
import requests
from bs4 import BeautifulSoup
url = 'https://wannianrili.bmcx.com/2023-03-17__wannianrili/' #這是2023年3月的鏈接
response = requests.get(url)
soup=BeautifulSoup(response.content,'html.parser')
for i in range(30):
? ? a = soup.find_all(id="wnrl_k_you_id_"+str(i))
? ? b = str(a) #這一步挺關(guān)鍵的
? ? bb = BeautifulSoup(b) #這一步延續(xù)上一步的關(guān)鍵,這里轉(zhuǎn)換成“湯”后才能進(jìn)行下面的操作
? ? c = bb.get_text() #這里如果單獨(dú)數(shù)據(jù)結(jié)果,會(huì)看到很清爽的數(shù)據(jù)
? ? i +=1
? ? if "嫁娶"and "星期五" in c:
? ? ? ? print(True)
? ? ? ? print(c[18:20])
我把上面的代碼命名為big_day.py,“大日子”值得重視,是有道理的...
