Facebook to RSS

最近在做信息聚合,由于不太会爬虫,再加上之前有整理过一些RSS的内容,因此想考虑用RSS来做信息聚合。

结果调查发现,RSS似乎已经离我们远去,似乎大部分网站都不再支持RSS,而网上很多Website转RSS,RSS转Fullt Text RSS等服务都已经纷纷关闭。

不知道像头条这些的信息聚合是如何做的。以及轻芒的应用内搜索技术聚合的信息是如何做到的。

然后,考虑的是社交平台转RSS,首先考虑的是Facebook。 (说实话,我真用不惯(其实是不好用)Facebook)

stackoverflow上给出的方案有三个:

  1. 自己搭建rss-bridge
  2. Wallflux
  3. inoreader专业版

rss-bridge, 源码在这里https://github.com/RSS-Bridge/rss-bridge
搭建也比较简单,我直接用了scalingo的一键部署。好处是服务器自己控制,可以随意修改,同时还支持其他网站以及社交平台的RSS转化。

不好的是,转化出来的RSS结果,没有我想象的那么好。

1
2
3
4
5
6
7
8
9
<item>
<title>Cambodian Idol - 首页 | Cambodian Idol · 1 小时 ·...</title>
<link>https://www.facebook.com//CambodianIdol/photos/a.342448125948561.1073741829.210604342466274/756369937889709/?type=3</link>
<guid isPermaLink="true">https://www.facebook.com//CambodianIdol/photos/a.342448125948561.1073741829.210604342466274/756369937889709/?type=3</guid>
<pubDate>Sat, 03 Feb 2018 06:29:10 +0000</pubDate>
<description>&lt;i&gt;&lt;/i&gt;&lt;a href="https://www.facebook.com/CambodianIdol/?ref=nf&amp;hc_ref=ARReR_8WlbSn4dvyRBZyMlwjHxyCcYlZtPSznnlpM9rHGV-DxcZnqhf7X3jWs7UQwrY"&gt;&lt;img src="https://scontent-ams3-1.xx.fbcdn.net/v/t1.0-1/p50x50/20994284_673048779555159_7474891650160391542_n.jpg?oh=76b86f4a6582db9954196a1c1cf18d0b&amp;oe=5ADA3731" alt="" /&gt;&lt;/a&gt;&lt;a href="https://www.facebook.com/CambodianIdol/?hc_ref=ARQp4l8Sxqw95EyN3XJ6hT0chknX-0zbish0u8MUnRSry3U6ILsVoMPKgYOa-8YNn30&amp;fref=nf"&gt;Cambodian Idol&lt;/a&gt;&lt;a href="#"&gt;&lt;/a&gt; · &lt;a href="https://www.facebook.com//CambodianIdol/photos/a.342448125948561.1073741829.210604342466274/756369937889709/?type=3"&gt;1 小时&lt;/a&gt; · &lt;a href="#"&gt;&lt;i&gt;&lt;/i&gt;&lt;/a&gt;&lt;p&gt;ឥឡូវនេះលោកអ្នកគឺជាគណៈកម្មការ ជាអ្នកសម្រេចចិត្ត!!!&lt;/p&gt;&lt;p&gt; ដោយសារទឹកដមសំឡេងបេក្ខជនទាំង 5រូបនេះ សុទ្ធតែល្អដែលធ្វើឲ្យគណៈកម្មការពិបាកធ្វើការសម្រេចចិត្ត ។ ដូច្នេះមានតែទស្សនិកជនប៉ុណ្ណោះ ជាអ្នកសម្រេចចិត្ត ថាតើបេក្ខជន 2រូបណាដែលសាកសមទៅកាន់វគ្គ LIVE SHOW ។&lt;/p&gt;&lt;p&gt; ផ្ញើសារគាំទ្រពួកគេទាំង 5រូប ដើម្បីពួកគេអាចឆ្លងផុតទៅកាន់វគ្គ LIVE SHOW ។...&lt;br /&gt; លោកអ្នកគ្រាន់តែចុចលេខសម្គាល់របស់បេក្ខជន រួចផ្ញើទៅកាន់លេខ 2018 (Smart, Mefone &amp; Cellcard) ឬទូរស័ព្ទទៅកាន់លេខ 2018 រួចស្តាប់ការណែនាំ (Mefone &amp; Cellcard) ។&lt;/p&gt;&lt;p&gt; ប្រព័ន្ធទូរស័ព្ទចាប់ផ្តើមបើកពីពេលនេះរហូតដល់យប់ថ្ងៃសុក្រ ទី០៩ ខែកុម្ភៈ ឆ្នាំ២០១៨ ។&lt;/p&gt;&lt;p&gt; ផ្ញើសារគាំទ្រឥឡូវនេះ !!&lt;/p&gt; &lt;a href="https://www.facebook.com//CambodianIdol/posts/756374967889206"&gt;展开&lt;/a&gt;&lt;a href="https://www.facebook.com//CambodianIdol/photos/a.342448125948561.1073741829.210604342466274/756369937889709/?type=3"&gt;&lt;img src="https://scontent-ams3-1.xx.fbcdn.net/v/t1.0-0/p370x247/27459310_756369937889709_2257471024552824759_n.jpg?oh=a47ab10137bdd7d86044cdb5c638e87f&amp;oe=5B13D222" alt="&amp;#x56fe;&amp;#x7247;&amp;#x4e2d;&amp;#x53ef;&amp;#x80fd;&amp;#x6709;&amp;#xff1a;6 &amp;#x4f4d;&amp;#x7528;&amp;#x6237;&amp;#x3001;&amp;#x5fae;&amp;#x7b11;&amp;#x7684;&amp;#x7528;&amp;#x6237;&amp;#x3001;&amp;#x6587;&amp;#x672c;" width="450" height="245" /&gt;&lt;/a&gt;</description>
<author>Cambodian Idol - 首页</author>

</item>

可以看到,得到的RSS的item,基本上就是把html的内容往description字段里放了下,而title这种几乎就是没有什么用的信息,因此肯定还需要自己做额外的解析。

Facebook-bridge似乎好一些,但我自己搭建的却解析不了,没花额外的时间查看了。

Wallflux 似乎已经倒闭?我使用的结果是没有任何Item字段生成。

inoreader正好有免费的30天专业版试用。支持100个facebook page的feed转换。

导入非常简单,直接将facebook page的地址输入左上角的搜索框

然后,输出的Feeds,首先需要将这个Facebook Page Feed放入一个目录,然后导出这个目录的Feed即可。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<item>
<title>
Behind the Scense Green Miles Round Cambodian Idol 3 Green Miles www.facebook.com
</title>
<link>
https://www.facebook.com/210604342466274/posts/756382707888432
</link>
<description>
<![CDATA[
Behind the Scense Green Miles Round<table style="margin-top:10px;"><tr><td style="padding-bottom:10px;"><a href="https://www.facebook.com/CambodianIdol/photos/a.756382321221804.1073741831.210604342466274/756382707888432/?type=3"><img src="https://scontent.xx.fbcdn.net/v/t1.0-0/s130x130/27331783_756382707888432_4123836028412729550_n.jpg?oh=9e6a5f76576ae532138c0bd8253c1eb4&amp;oe=5B23AD7D" alt="27331783_756382707888432_412383602841272"></a></td></tr><tr><td><div><a href="https://www.facebook.com/CambodianIdol/photos/a.756382321221804.1073741831.210604342466274/756382707888432/?type=3">Cambodian Idol 3 Green Miles</a></div><div style="font-size:.9em;"><a href="https://www.facebook.com/CambodianIdol/photos/a.756382321221804.1073741831.210604342466274/756382707888432/?type=3">www.facebook.com</a></div></td></tr></table>
]]>
</description>
<pubDate>Sat, 03 Feb 2018 07:40:16 +0000</pubDate>
<category>Cambodian Idol</category>
<dc:creator>Cambodian Idol</dc:creator>
<source url="https://www.facebook.com/210604342466274">Cambodian Idol (Facebook)</source>
<guid isPermaLink="false">http://www.inoreader.com/article/3a9c6e7ed20cfa0d</guid>
</item>

解析结果比rss-bridge稍微好一点,至少title的内容比较好,不过还是没有把图片单独截取出来,似乎还是需要我们自己解析description的内容。

考虑的是,输出Feed似乎和个人账户ID关联,不知道作为共有Feed,频繁request会不会出现问题。可能需要考虑将内容转存(?这似乎又存在版权问题)。

简单出demo的话,inoreader专业版不错。长久考虑,应该使用rss-bridge。

归根结底,还是需要自己解析description的内容。