跳至主要內容

RSS 进阶篇:Huginn - 真·为任意网页定制 RSS 源(PhantomJs 抓取)

自动化Huginnrss约 843 字大约 3 分钟...

烧制网页 RSS 源,主要有 FEED43Huginn 两种方法。

  • FEED43:简单免费,六小时抓取一次,每次抓取 20 条静态页面。
  • Huginn:自由度高,能自定义抓取频率、内容结构、js 结果、输出样式等;需要搭建服务器,学习 Huginn 抓取规则。

Huginn 准备工作

PhantomJs 网页抓取

新建 Huginn 任务组 Scenario「国内应急新闻」,样例抓取链接为 http://www.cneb.gov.cn/guoneinews/

页面缓存

使用 Phantom Js Cloud Agent,获得动态网页缓存。

解析网页内容

使用 WebsiteAgent,抓取网页内容。

获取内容路径

使用火狐浏览器打开目标页面,获取 css path 路径。

  1. 按下 F12, 然后点击 Developer Tools 左上角的检查指针

  2. 选中要抓取的部分。

  3. 回到 Developer Tools 窗口,右键选中的蓝色部分,获取 css path、Xpath。这里以 css path 为例。

  4. 初始 css path 路径,html body div.area.areabg1 div.area-half.right div.tabBox div.tabContents.active table tbody tr td.red a

  5. css path 原始路径过长,删去不带 .# 的节点(节点间以空格“ ”分割),并删去每个节点在 .# 前的第一个标签,得到 .area.areabg1 .area-half.right .tabBox .tabContents.active .red a

  6. 前半部分对节点定位无用,继续省略(比如:中国上海,省略掉中国,大家也知道上海在哪),获得短路径 .tabContents.active .red a

特殊路径处理

  • 有些路径中的节点带空格,如 <div class="packery-item article">,路径中的空格由 . 代替,截取为 .packery-item.article
  • 当抓取多种 css path 规则时,用逗号分割,比如 "css": ".focus-title .current a , .stress h2 a",

导出 RSS

使用 DataOutputAgent,将抓取内容导出为 RSS。

回到 Scenarios,点击 Data Output Agent 旁的按钮「Actions」>「Show」,复制导出的 xml 链接 http://xxx.xxx/users/1/web_requests/xxx/xxxx.xml

点击网盘下载open in new window国内应急新闻的详细设置,导入到 Huginn 即可使用。其他问题参考 PhantomJs Cloud 英文攻略open in new window

微信的屏蔽措施非常之多,公众号抓取可以尝试 wechat-feedsopen in new window

RSS 合集

汇总的 RSS 永久订阅 feeds,均通过 RSSHub 和 Huginn 制作。如果有兴趣自制 RSS,可参考以下教程。

已到达文章底部,欢迎留言、表情互动~
  • 赞一个
    0
    赞一个
  • 支持下
    0
    支持下
  • 有点酷
    0
    有点酷
  • 啥玩意
    0
    啥玩意
  • 看不懂
    0
    看不懂
评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v2.15.8