新聞中心
最近我發(fā)現(xiàn)Python的一個第三方庫,叫做htmldate,經(jīng)過測試,它提取新聞的發(fā)布時間比較準(zhǔn)確。我們來看看這個庫怎么使用。首先使用pip安裝:

創(chuàng)新互聯(lián)建站主營云夢網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,成都app開發(fā),云夢h5微信小程序開發(fā)搭建,云夢網(wǎng)站營銷推廣歡迎云夢等地區(qū)企業(yè)咨詢
python3 -m pip install htmldate
然后,我們使用Requests或者Selenium獲得網(wǎng)站的源代碼:
import requests
from htmldate import find_date
html = requests.get('https://www.kingname.info/2022/03/09/this-is-gnelist/').content.decode('utf-8')
date = find_date(html)
print(date)
運(yùn)行效果如下圖所示:
而這篇文章的發(fā)布時間,確實(shí)是3月9號:
我們再用網(wǎng)易新聞來看一下,相互激勵 增進(jìn)友誼(精彩綻放) |殘奧|中國代表團(tuán)|單板滑雪|奪金_網(wǎng)易政務(wù)[2] 這篇新聞對應(yīng)的發(fā)布時間如下圖所示:
現(xiàn)在我們用Requests獲得它的源代碼,然后再提取發(fā)布時間:
發(fā)布日期確實(shí)對了,但是后面的時間怎么丟失了呢?如果想把時分秒保留下來,可以增加一個參數(shù)outputformat,它的值就是你在datetime.strftime里面輸入的值:
find_date(html, outputformat='%Y-%m-%d %H:%M:%S')
運(yùn)行效果如下圖所示:
find_date的參數(shù),除了網(wǎng)頁源代碼外,還可以傳入URL,或者是lxml里面的Dom對象,例如:
from lxml.html import fromstring
selector = fromstring(html)
date = find_date(selector)
參考文獻(xiàn)[1] Gne: https://github.com/GeneralNewsExtractor/GeneralNewsExtractor
[2] 相互激勵 增進(jìn)友誼(精彩綻放) |殘奧|中國代表團(tuán)|單板滑雪|奪金_網(wǎng)易政務(wù): https://www.163.com/news/article/H28Q6NQ1000189FH.html
本文標(biāo)題:一日一技:如何提取網(wǎng)頁中的日期?
分享鏈接:http://fisionsoft.com.cn/article/dpspsdo.html


咨詢
建站咨詢
