我的大学有一个发布公告的网站。我不能错过这些公告,同时,每天检查网站有点麻烦。该网站没有 RSS 提要。
公告发布在网页上
,公告的URL格式如下:http://example.com/news/detail/1/n
其中n
是公告 ID,它是数字。
当有公告时,上述网页(例如 http://example.com/news/detail/1/180(包含以下格式的公告:
<div class="middleconten">
<h3>
Title </h3>
11 October, 2019
<p>
<a href='/some/link' target='_blank'>Click here for more details</a>
</p>
</div>
当没有公告时(即,当用户访问具有n
值的网页时,该值与实际公告 ID 不对应,例如 http://example.com/news/detail/1/1234567890(,该网页如下所示:
<div class="middleconten">
<h3>
</h3>
1 January, 1970
<p>
</p>
</div>
如何为捕获<h3>
值、href
属性和日期的网站制作 RSS 源?
您需要定期抓取网站以获取新新闻。您可以使用 goquery 来提取数据。
这个想法很简单。您需要从 1 开始为新闻部分生成 url(填写n
的值(并访问每个 url。如果找到新闻(结构存在(,请存储数据。将 1 添加到n
值以获取下一个 ID。如果 url 不包含新闻,请停止并存储上次成功新闻的编号/ID 的值。下次您可以从此 ID 而不是从头开始。
例如,我从 1 开始,我在 ID 32 处找到最后一个成功的消息。我把它保存在某个地方。下次我可以从 33 而不是 1 开始。
当您拥有从网站中提取的数据数据库时,您可以从这些数据库发布自己的RSS提要。您可以使用像chi和Gorilla feeds这样的路由器来创建rss源。