Mojo::DOM, HTML::FormatText 提取zgshige的文章转为txt

There's more than one way to do it!
https://metacpan.org http://perlmonks.org
头像
523066680
Administrator
Administrator
帖子: 459
注册时间: 2016年07月19日 12:14
拥有现金: 锁定
储蓄: 锁定
Has thanked: 51 times
Been thanked: 88 times
联系:

Mojo::DOM, HTML::FormatText 提取zgshige的文章转为txt

帖子 #1 523066680 » 2018年12月15日 10:37

遇到的问题:
通过Mojo::DOM直接获取文本内容(all_text方法),会自动把<br>的效果给吃掉,没有换行,也就不能像浏览器那样呈现。
当然 &nbsp; 这些符号是正常转换为 \xA0 了的。

目前的解决方法点绕,用Mojo::DOM提取关键节点的HTML,合并,交给 HTML::Parse 和 HTML::FormatText 去转文本,显示结果和浏览器大体一致。
因为经过 Mojo::DOM 处理,&nbsp;已经换为空白符,在交给 HTML::FormatText 时会自动剔除行首的空白符,文段中的xA0也会自动变成半角的空白符。

=info
523066680/vicyang
2018-12
=cut

use Encode;
use File::Slurp;
use File::Basename;
use Mojo::UserAgent;
use HTML::Parse;
use HTML::FormatText;
STDOUT->autoflush(1);

our $ua = Mojo::UserAgent->new();
my $link = "http://www.zgshige.com/c/2018-12-13/7714634.shtml";
#$link = "http://www.zgshige.com/c/2015-06-10/504779.shtml";

$link =~/\/([^\/]+)\.\w+$/;
my $pgname = $1;
my $res = $ua->get( $link )->result;
abstract( $res->dom, $pgname );

sub abstract
{
my ( $dom, $pgname ) = @_;
my $title = $dom->at("h3")->content;
my $info = $dom->at(".col-md-8 .p-t-sm")->content;
my $body = $dom->at(".m-lg")->content;

# 注释
if ( $dom->at(".col-md-8 .noteBox") ) {
$note = $dom->at(".col-md-8 .noteBox")->all_text;
} else {
my $note = "";
}

my $buff = join("<br><br>", $title, $info, $body, $note);
my $formatter = HTML::FormatText->new(leftmargin =>0);
my $text = $formatter->format( parse_html($buff) );

write_file( "${pgname}.txt" , encode('utf8', $text) );
}

结果看二三楼

头像
523066680
Administrator
Administrator
帖子: 459
注册时间: 2016年07月19日 12:14
拥有现金: 锁定
储蓄: 锁定
Has thanked: 51 times
Been thanked: 88 times
联系:

转换结果

帖子 #2 523066680 » 2018年12月15日 10:38

http://www.zgshige.com/c/2018-12-13/7714634.shtml

代码: 全选

【原创】我已经有喜欢的人了

作者: Any梦 2018年12月13日15:09 浏览:0 觉得不错,我要 赞赏

别爱上我
我已经有喜欢的人了
每天睁开眼
第一个想的是他
想他吃早餐了没有
出门如果忽然下起雨
会有人给他送伞吗
当他身体不舒服的时候
又有没有人第一时间提醒他吃药
每晚闭眼睡前都会暗自祈祷
祈祷他能进入我的梦里
与我小小团聚
我真的很想告诉他 我想他
每时每刻 每分每秒

别爱上我
我已经有喜欢的人了
虽然现实残酷 距离遥远
今生可能我们永远无法相见
但我依然不想放弃 不想放弃爱他
愿意等 哪怕用一辈子时间
换来的只是场空欢喜
一个一厢情愿的梦
谁知道呢 说不定还有另一种可能
我始终相信 宁愿相信
真心爱一个人 他的心就不会离我太远
你可以说我中毒太深
但爱情不就是这样吗
一颗心装一个人
深爱时 用心爱

别爱上我
我已经有喜欢的人了
无法接受你的表白
更无法回予你任何承诺
请原谅我残忍而不留情面的拒绝吧
因为我不想 不想你像我一样
傻傻的等一个 可能永远不会爱上自己的人
我知道爱情有多么苦涩 令人孤独寂寞
与其互相亏欠 互相折磨
还不如放手 说不定你能拥有更好的幸福呢
即便 即便我又是这样的执着
每次跟你聊天的时候
总仿佛看见另一个自己
那个傻傻的 不愿放弃他的我

注释:
本文2011年4月份发表在“中国大众在线”出版的《大众文集(第二集)》;2018年发表在个人公众号“大女孩小故事”、个人头条号“大女孩小故事”、个人百家号“大女孩小故事”等


这一篇在原文中也是多一行换行的
http://www.zgshige.com/c/2015-06-10/504779.shtml

代码: 全选

李之平的诗

作者: 李之平 2015年06月10日15:58 浏览:158 觉得不错,我要 赞赏

万物生长


夏天好像是

突然涌到你面前的


草突然长得很高

树叶突然油绿

树丛之间突然消失的缝隙

正激发人越过屏障


满院子黄黄的矢车菊

像是策划好的画展

菜园子,草对蔬菜毫不谦让


昆虫蚊蝇来势太猛

厨房厕所,哪怕卧室

都被他们占领或侵犯


墙角筑窝,空中翻飞,地上爬滚

修佛的我不敢随便擦拭锅台和地面

不小心弄死,也得心中念咒数遍


中午时,我来到院子里

热浪追着我,蹲在菜园子拔草


密集的草追着我的手

它们多么害怕这么快消失

我突然意识到

万物疯长

它本来的含义


2015.5.14


捉起迷途的小鸟


这回不同

两头的门都开着

这只小鸟不晓得出去


在玻璃门后不住撞头

地上落着几根它的羽毛


我蹲下身捉它

竟然乖乖进入我手心


刚满月的鸟

细细的脚爪

紧抓我的手

小眼睛圆溜溜

一个劲侧脸望我


想养下它的念头

一闪而过

(这是不人道也不现实)


欲把它放在树上,树叶和虫子

也可以让它活下去


手刚一松开

它就蹭一下飞走了

眼前空余一道

模糊而坚决的弧线

2015.5.14午后


暮春山边院子,大鸟和狗


田埂边

一只大鸟

从油菜地里腾地飞起


我看着它绕了个弧线远去

并消失在东面的树林里


它也是妈妈的孩子

或者已做了妈妈

正进入自己的巢中

喂食孩子


春天快要结束

脚边蒲公英的毛絮已脱落

高个的矢车菊开得正旺


院子前面的高速路上

汽车偶尔驶过一辆

白色的,黑色的,

牛逼的好车,还有土灰灰的农夫车,

疲惫不堪的大货车

都远去了


只有我还在这春天

一个人守着山陵,大院

和一只黑狗


它被咬伤后

不愿靠近其他狗

我在院子里散步

后面是它孤单的身影

2015.5.2



对山中树丛的一瞥


摩托车向山后退去

景物快速飞驰

也快速进入我

跟不上的轨道


透过山中层密的树叶

眼见它们搂抱一起

挤压一起


我惊讶,春天以来

它们汹涌的长势

必然有不可知的蓄意

那里有怎样的人间

我也不能回答


只知道

这是神奇的一瞥

下一秒,瞥到乡村的房子

正在盖的二层楼

院子前溜达的土狗


我超过它们

回到住处

它们归于自己的生长

或继续魔幻地现实


我在想象

秋天,我们能看到它们

出奇的宁静

与全裸的慈悲


5月1日


山里的昆虫尸体


冬天过后

各类昆虫多了起来

尤其在路灯下

它们茫然扑腾


高速公路上

它们的尸体随处可见


被汽车

碾压而死的蝴蝶,飞蛾

被猫狗舔舐


十天休假后

我的办公室角落

也被昆虫尸体占领


我不想去清扫

让它们死后

有个短暂的家


与它们呆在一起

也无任何异样


2015年4月18


高速公路车祸多发地


这是奇怪的弯道

拐向另一方向的单行道

左侧是空悬的大道

护栏处没设指示牌


开通一年来

多次辆车在夜里撞飞出去

我不禁心惊


在星空下

有个优美的弧线

划过夜空

冲出轨道向无名的空际


车里的人

张大嘴巴

等待最后时刻来临


当然,最希望它们做的是

闭上眼

等着上帝或佛陀

出现

亲吻他们最后神情


所有灾难在此重叠汇聚

真是奇伟的场面

这样的心理

也只能让人唏嘘

2015.4.18



鸡足山参拜(组诗 外三首)


对于云南鸡足山

我想说的是

语言无法形容的事

暂且用内心承受吧


鸡足山

我终于来过

迦叶祖师爷北度的圣山

虚云法师的道场


我暂且作为行脚来到这里

曾站在尼姑庵星空下的山林

一个人留了很多眼泪


出世还是回归

泪水陪我纠结许久

现在。我在山下,在南方

写这首诗


似乎忘记了当时的疼痛

也无法给出

应有的答案

在最难面对的事物面前

人们往往选择逃避


15.4.24


尼姑庵的功课


福缘善庆

大概是对那个时刻

最基本的表达


之所以还要写诗

是记录一段

重要经历的习惯


真正与佛靠得那么近

是因为我的心

快安静和干净了


咒语,佛歌和经文

持久的跪坐

令我腰疼


内心多么愉悦美好

佛堂外

山林的风声和鸟鸣

都已躬身静坐

举眉向天


世界如此小

只有静寂笃深的一寸

只有自己聆听到的

呼吸和回声

2015.5.14夜


上山


鸡足山是陡的

很多人坐缆车


我们选择步行

到山顶看佛


后来,腿不会打弯了

可心里欢喜


遇到路人

都双手合十

“阿弥陀佛”

会告诉你

山顶不远了,就在前面


靠近崖边

背后是云雾

我合十拍照

记录了上去的场景


回看,上看

多么美啊

心里的灿烂

真的很美

15.5.2日


下山遇修者


天要黑了

到山下还有一个多时

我怕难寻所住的尼姑庵


同行要回县城自己家

我也怕一个人走夜路

他说,这是大佛山

四处有佛护佑


在半山,

一位独行的女孩不介意

还有个把钟头到山顶

她开朗笑着:“不会怕的

这是佛的山。”


半山,看到人们驻足合十

看到山坡上的经幡

念藏佛心咒的修者

边转经边念咒

一男一女年轻人

上去合十,蹲下


人们不怕黑夜

都驻足


佛啊,如此静止

大家看到自己的心静止

这幸福不能远离

多停留片刻

15年5月2日



下鸡足山时看到很多尼玛堆


很多尼玛堆

用几块石头和

数千块石头堆的尖堆形状


路基斜坡上

山边平整处

藏佛的人一路码来


这些石头安稳端坐

没有一个欲滑落


它们的正中住着心

神灵经过

要歇息


路过的人

要合十念咒

鞠躬离去

15.5.2


回到 “Perl”

在线用户

用户浏览此论坛: 没有注册用户 和 0 访客