UM新媒体
自媒体短视频运营平台 UMXMT.COM!

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

烧制网页 RSS 源,主要有 FEED43 和 Huginn 两种方法。

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

#Huginn 准备工作

PhantomJs 网页抓取

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

7082f156da0be50

#页面缓存

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

9f46b06a2ec46db

#解析网页内容

使用 WebsiteAgent,抓取网页内容。

a85bdb77508853e

#获取内容路径

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

  1. 按下 F12, 然后点击 Developer Tools 左上角的检查指针46a8046857817e0
  2. 选中要抓取的部分。82f795943463b7f
  3. 回到 Developer Tools 窗口,右键选中的蓝色部分,获取 css path、Xpath。这里以 css path 为例。1f0781898b1281f
  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。

a48a39f0df2f56e

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

 

d6845f9aa67edf8

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

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

赞(1)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《RSS 进阶篇:Huginn - 真·为任意网页定制 RSS 源(PhantomJs 抓取)》
文章链接:https://www.umxmt.com/4297.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。

登录

找回密码

注册