本公開涉及web開發(fā),尤其涉及一種自動(dòng)化美化網(wǎng)頁內(nèi)容的方法、裝置、存儲(chǔ)介質(zhì)、程序產(chǎn)品。
背景技術(shù):
1、隨著數(shù)字時(shí)代的到來,互聯(lián)網(wǎng)已成為信息傳播的主要渠道。網(wǎng)頁中文檔的在線編輯、分享與閱讀變得日益普及。然而,現(xiàn)有技術(shù)在處理跨平臺(tái)和應(yīng)用間文本內(nèi)容的樣式統(tǒng)一性方面存在明顯不足。當(dāng)文檔內(nèi)容在不同平臺(tái)間復(fù)制粘貼時(shí),經(jīng)常遇到樣式不一致的問題,這不僅導(dǎo)致文章呈現(xiàn)混亂,而且嚴(yán)重影響了用戶的閱讀體驗(yàn)。此外,盡管ai技術(shù)在內(nèi)容生成方面取得了顯著進(jìn)展,但ai生成的文檔樣式多樣性與企業(yè)方的統(tǒng)一要求往往難以匹配。
技術(shù)實(shí)現(xiàn)思路
1、有鑒于此,本公開實(shí)施例提供了一種自動(dòng)化美化網(wǎng)頁內(nèi)容的方法、裝置、存儲(chǔ)介質(zhì)、程序產(chǎn)品,能夠簡化了傳統(tǒng)繁瑣的手動(dòng)樣式編輯過程,降低了人力成本和時(shí)間成本,提高樣式統(tǒng)一性,滿足用戶的風(fēng)格要求。
2、第一方面,本公開實(shí)施例提供了一種自動(dòng)化美化網(wǎng)頁內(nèi)容的方法,采用如下技術(shù)方案:
3、從網(wǎng)頁中獲取html內(nèi)容,對(duì)所述html內(nèi)容進(jìn)行數(shù)據(jù)提取,獲得內(nèi)容組件,所述內(nèi)容組件包括純文本內(nèi)容和媒體元素中的至少一項(xiàng);
4、構(gòu)建包含多種樣式規(guī)則的規(guī)則集,基于所述規(guī)則集對(duì)所述內(nèi)容組件進(jìn)行樣式美化,生成帶有新樣式的html內(nèi)容;
5、對(duì)所述帶有新樣式的html內(nèi)容進(jìn)行動(dòng)態(tài)組裝,生成目標(biāo)html文檔,將所述目標(biāo)html文檔展示在網(wǎng)頁中。
6、可選地,所述從網(wǎng)頁中獲取html內(nèi)容,對(duì)所述html內(nèi)容進(jìn)行數(shù)據(jù)提取,獲得內(nèi)容組件,包括:
7、構(gòu)建dom容器;
8、從網(wǎng)頁加載所述html內(nèi)容;
9、通過所述dom容器對(duì)所述html內(nèi)容進(jìn)行解析,生成dom樹;
10、提取所述dom樹中的html元素,將所述html元素存儲(chǔ)到集合中;
11、遍歷所述集合,提取所述集合中的text文本內(nèi)容,如果集合中存在媒體元素,則提取所述媒體元素;
12、對(duì)所述text文本內(nèi)容進(jìn)行預(yù)處理,采用預(yù)設(shè)dom元素對(duì)預(yù)處理后的text文本內(nèi)容進(jìn)行包裹,生成所述多個(gè)純文本內(nèi)容;
13、所述多個(gè)純文本內(nèi)容構(gòu)成所述內(nèi)容組件,或者所述多個(gè)純文本內(nèi)容與所述媒體元素共同構(gòu)成所述內(nèi)容組件;
14、按照在所述html內(nèi)容中的順序,將所述內(nèi)容組件存儲(chǔ)到緩存數(shù)組中。
15、可選地,所述預(yù)處理包括去除前后空格、合并連續(xù)換行符、敏感詞過濾、內(nèi)容清洗中的至少一項(xiàng)。
16、可選地,所述預(yù)處理包括去除前后空格、合并連續(xù)換行符、敏感詞過濾、內(nèi)容清洗;
17、其中,所述去除前后空格指的是去除text文本內(nèi)容的前后空格;
18、所述合并連續(xù)換行符指的是替換text文本內(nèi)容中的連續(xù)換行符為單個(gè)換行符;
19、所述敏感詞過濾指的是根據(jù)預(yù)設(shè)的敏感詞列表,檢查text文本內(nèi)容中是否包含敏感詞,如果發(fā)現(xiàn)敏感詞,將敏感詞替換為預(yù)設(shè)字符或刪除敏感詞;
20、所述內(nèi)容清洗指的是按單個(gè)換行符將text文本內(nèi)容拆分為text數(shù)組,text數(shù)組包含多個(gè)數(shù)組元素,遍歷多個(gè)數(shù)組元素,刪除當(dāng)前數(shù)組元素的前后空格,檢測刪除前后空格后的當(dāng)前數(shù)組元素是否為空;
21、若為空,則刪除當(dāng)前數(shù)組元素;
22、若不為空,則保留當(dāng)前數(shù)組元素,采用預(yù)設(shè)dom元素對(duì)當(dāng)前數(shù)組元素進(jìn)行包裹,將包裹后的當(dāng)前數(shù)組元素稱為純文本內(nèi)容,當(dāng)多個(gè)數(shù)組元素遍歷完成后,獲得多個(gè)純文本內(nèi)容。
23、可選地,所述自動(dòng)化美化網(wǎng)頁內(nèi)容的方法還包括:
24、對(duì)加載出的html內(nèi)容進(jìn)行安全驗(yàn)證,所述安全驗(yàn)證包括數(shù)據(jù)清除、標(biāo)簽過濾、屬性檢查、屬性值檢查、深度過濾、實(shí)體轉(zhuǎn)義處理、編碼處理、csp驗(yàn)證中的至少一項(xiàng);
25、其中,所述數(shù)據(jù)清除指的是接收輸入的html內(nèi)容,對(duì)html內(nèi)容進(jìn)行清洗,去除無關(guān)的空白字符和注釋;
26、所述標(biāo)簽過濾指的是遍歷數(shù)據(jù)清洗后的html內(nèi)容中的標(biāo)簽,將不在白名單中的標(biāo)簽刪除;
27、所述屬性檢查指的是在遍歷html內(nèi)容中的標(biāo)簽時(shí),檢查在白名單中的標(biāo)簽的屬性是否在屬性列表中,如果所述屬性不在屬性列表中,則刪除屬性或者將該屬性的值替換為預(yù)設(shè)的安全值,如果所述屬性在屬性列表中,則對(duì)所述屬性進(jìn)行屬性值檢查;
28、所述屬性值檢查指的是對(duì)屬性值進(jìn)行url編碼或html實(shí)體編碼;
29、所述深度過濾指的是對(duì)通過屬性檢查和屬性值檢查的html內(nèi)容進(jìn)行惡意腳本過濾;
30、所述實(shí)體轉(zhuǎn)義處理指的是對(duì)經(jīng)過深度過濾的html內(nèi)容進(jìn)行html實(shí)體轉(zhuǎn)義;
31、所述編碼處理指的是采用安全框架對(duì)經(jīng)過實(shí)體轉(zhuǎn)義處理的html內(nèi)容進(jìn)行編碼;
32、所述csp驗(yàn)證指的是在服務(wù)器端和客戶端實(shí)施內(nèi)容安全策略,根據(jù)內(nèi)容安全策略對(duì)經(jīng)過編碼處理的html內(nèi)容以及隨網(wǎng)頁加載的所有附帶資源進(jìn)行驗(yàn)證。
33、可選地,所述基于所述規(guī)則集對(duì)所述內(nèi)容組件進(jìn)行樣式美化,生成帶有新樣式的html內(nèi)容,包括:
34、識(shí)別所述內(nèi)容組件中的所有內(nèi)容元素,對(duì)所述內(nèi)容元素進(jìn)行分類;
35、根據(jù)所述內(nèi)容元素的類型,從所述規(guī)則集中為所述內(nèi)容元素匹配對(duì)應(yīng)的樣式規(guī)則;
36、根據(jù)匹配出的樣式規(guī)則,在預(yù)設(shè)的樣式集中選擇出若干個(gè)樣式類;
37、采用模版引擎將所述內(nèi)容元素與所述若干個(gè)樣式類結(jié)合,生成帶有新樣式的內(nèi)容元素;
38、對(duì)所有帶有新樣式的內(nèi)容元素進(jìn)行web排版處理,生成所述帶有新樣式的html內(nèi)容。
39、可選地,所述對(duì)所述帶有新樣式的html內(nèi)容進(jìn)行動(dòng)態(tài)組裝,生成目標(biāo)html文檔,將所述目標(biāo)html文檔展示在網(wǎng)頁中,包括:
40、采用預(yù)設(shè)的數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)所述帶有新樣式的html內(nèi)容;
41、創(chuàng)建documentfragment對(duì)象,將所述數(shù)據(jù)結(jié)構(gòu)中的內(nèi)容元素添加到所述documentfragment對(duì)象中,生成目標(biāo)html文檔;
42、采用自適應(yīng)布局算法對(duì)所述目標(biāo)html文檔進(jìn)行布局調(diào)整;
43、將布局調(diào)整后的目標(biāo)html文檔展示在網(wǎng)頁中。
44、第二方面,本公開實(shí)施例還提供了一種自動(dòng)化美化網(wǎng)頁內(nèi)容的系統(tǒng),采用如下技術(shù)方案:
45、數(shù)據(jù)提取模塊,用于從網(wǎng)頁中獲取html內(nèi)容,對(duì)所述html內(nèi)容進(jìn)行數(shù)據(jù)提取,獲得內(nèi)容組件,所述內(nèi)容組件包括純文本內(nèi)容和媒體元素中的至少一項(xiàng);
46、樣式美化模塊,用于構(gòu)建包含多種樣式規(guī)則的規(guī)則集,基于所述規(guī)則集對(duì)所述內(nèi)容組件進(jìn)行樣式美化,生成帶有新樣式的html內(nèi)容;
47、動(dòng)態(tài)組裝模塊,用于對(duì)所述帶有新樣式的html內(nèi)容進(jìn)行動(dòng)態(tài)組裝,生成目標(biāo)html文檔,將所述目標(biāo)html文檔展示在網(wǎng)頁中。
48、第三方面,本公開實(shí)施例還提供了一種計(jì)算機(jī)裝置,采用如下技術(shù)方案:
49、所述計(jì)算機(jī)裝置包括:
50、至少一個(gè)處理器;以及,
51、與所述至少一個(gè)處理器通信連接的存儲(chǔ)器;其中,
52、所述存儲(chǔ)器存儲(chǔ)有可被所述至少一個(gè)處理器執(zhí)行的指令,所述指令被所述至少一個(gè)處理器執(zhí)行,以使所述至少一個(gè)處理器能夠執(zhí)行以上任一所述的自動(dòng)化美化網(wǎng)頁內(nèi)容的方法。
53、第四方面,本公開實(shí)施例還提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),該計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)存儲(chǔ)計(jì)算機(jī)指令,該計(jì)算機(jī)指令用于使計(jì)算機(jī)執(zhí)行以上任一所述的自動(dòng)化美化網(wǎng)頁內(nèi)容的方法。
54、第五方面,本公開實(shí)施例還提供了一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序/指令,該計(jì)算機(jī)程序/指令被處理器執(zhí)行時(shí)實(shí)現(xiàn)以上任一項(xiàng)所述方法的步驟。
55、本公開實(shí)施例提供的自動(dòng)化美化網(wǎng)頁內(nèi)容的方法,通過數(shù)據(jù)提取能夠自動(dòng)清除html內(nèi)容的所有樣式,獲得內(nèi)容組件,通過提取網(wǎng)頁中的html內(nèi)容并應(yīng)用統(tǒng)一的樣式規(guī)則集,可以確保在不同平臺(tái)和應(yīng)用間復(fù)制的文本內(nèi)容保持一致的樣式,有效解決了不同平臺(tái)間樣式不一致的問題,使得文檔呈現(xiàn)更為整潔和專業(yè)。而且通過自動(dòng)構(gòu)建和應(yīng)用樣式規(guī)則集,可以根據(jù)企業(yè)的統(tǒng)一樣式要求來美化內(nèi)容,確保ai生成的文章或網(wǎng)頁內(nèi)容符合企業(yè)的品牌形象和視覺風(fēng)格,這使得生成的文檔樣式不僅具備多樣性,還能與企業(yè)的標(biāo)準(zhǔn)要求保持一致,同時(shí)能夠消除手動(dòng)重新應(yīng)用樣式的繁瑣步驟,大大提高了樣式統(tǒng)一性的維護(hù)效率,同時(shí)避免了人工操作可能帶來的錯(cuò)誤和不一致。通過生成帶有新樣式的html內(nèi)容,并進(jìn)行動(dòng)態(tài)組裝,最終生成的目標(biāo)html文檔在視覺上更為吸引人,用戶的閱讀體驗(yàn)將得到顯著提升,文檔的樣式一致性和專業(yè)性將增強(qiáng)用戶的整體體驗(yàn)。
56、上述說明僅是本公開技術(shù)方案的概述,為了能更清楚了解本公開的技術(shù)手段,而可依照說明書的內(nèi)容予以實(shí)施,并且為讓本公開的上述和其他目的、特征和優(yōu)點(diǎn)能夠更明顯易懂,以下特舉較佳實(shí)施例,并配合附圖,詳細(xì)說明如下。