自己做站的站长们,或多或少都接触过采集工具,虽然说采集其实不值得提倡,但是我们不做,或者做不到这是两码事。从客户端采集器到wordpress采集插件,可用的采集工具很多,但是大部分都要收费,今天发现一款免费wordpress采集插件——WP-JPOST!
一、WP-JPOST插件功能
- 定向采集目标网站内容,并直接发布。
- 可以设置对应入库的分类。
- 可以自定义文章的标签。
- 可以自定义替换标题、文章内容。
- 自动另存为图片到本地。
- 自动删除内容中的所有链接。
- 加入百度翻译,可以将内容翻译成英文。
- 脚本定时自动增量功能。
插件截图:
二、WP-JPOST插件安装
- 下载后,上传本插件到目录
/wp-content/plugins/
中 - 在 WordPress 插件面板激活
WP-JPost
插件 - 打开菜单 【仪表盘】>【设置】>【固定链接】,点击保存。是的仅需点击『保存』。相信我。
- 打开菜单【WP-JPost】开始使用插件
三、如何添加采集任务?
1、任务名
命名请使用英文字母数字组合.
例:douban。
2、抓取目标网站域名(网址以/结束)
这里填写目标网站首页的地址,以/结束。
例:https://www.douban.com
3、抓取目标网站列表页
列表页一般都是二级页面,是栏目的具体展示页,一般是用页内跳转的链接。
例如:https://www.douban.com/group/meituikong/
4、入库目标分类ID
WordPress 后台 — 文章 — 分类目录 — 编译你想入库到的分类 — 查看浏览器地址栏的地址。
例:/wp-admin/term.php?taxonomy=category&tag_ID=38…
这里的tag_ID=38,这个38就是我们需要填写的值。
5、标签
WordPress 入库时,写入文章的标签值。多个标签请使用,分割(英文状态的逗号分隔)
例:WordPress,LaoJi,wp-jpost。
6、目标网站a链接元素
列表页中到二级目录的链接地址,同jQuery选择器方法。
7、分页格式
列表页中第二页区别列表页的地方。例:
列表页地址:https://www.douban.com/group/meituikong/
翻页后变成:https://www.douban.com/group/meituikong/discussion?start=8850
那么这里就填写:discussion?start={page}
这里的 {page} 就是翻页变化的地方。
8、分页最大值
这里填写翻页后最后的page值。例:
http://147hub.com/page/2052
这里翻页的最大值,即填写:2052
9、获取单页标题、目标单页获取元素 :title
内容页中标题、内容的标签值。同jQuery选择器方法。下面我们具体得讲述一下怎么选择元素。首先我们需要使用chrome、firefox之类的浏览器。这些浏览器都具有调试等功能。我们这里以Firefox为例。
首先分析代码,以下元素标签可以是div , h3 ,title ,span , p 等。
例:<元素标签 class=”classname”>…</元素标签>,那么我们应该则填入:元素标签.classname。
例:<元素标签 id=”classname”>…</元素标签>,那么我们应该则填入:元素标签#classname。
学习更多CSS选择器可以参考:http://www.w3schools.com/cssref/css_selectors.asp
网页空白处右击 — 查看元素 。 下面会弹出一个调试器出来。
内容搜索值 、内容替换值(可以批量多个替换)
比如标题正文中带有一些原来的字符串,我想替换成我的,或者不要了。
注意:这里如想替换成一样的值,可以直接写一个。如每个替换成不同的则需要对应填。例:
搜索值:- 摔角资料, – 赛事新闻 – 摔角网, – 赛事战报, – 摔角网
替换值:
搜索值:搜索1,搜索2,搜索3
替换值:替换1,替换2,替换3
注意这里要一一对应。例如搜索2去要替换成空则替换值也需要留空(替换1,,替换2),否则就不能对应替换了。
采集规则使用CSS选择器:
链接列表css选择器:.newList li a
正文标题css选择器:h1
正文内容css选择器:#newsCon p
四、wp-jpost 采集网站规则示例
采集网站 shuaijiao.com 规则示例
基本设置
任务名 | shuaijiao |
网站地址 | http://www.shuaijiao.com/ |
列表地址 | http://www.shuaijiao.com/news/ |
列表a元素 | div.lists6 dl.page0 dd a |
分页格式 | {page}.html |
分页最大值 | 1 |
单页设置
文章标题元素 | ?title |
文章正文元素 | div[class="news_info"] ? |
入库分类ID | ?1 |
文章标签 | ?WWE,RAW,SmackDown |
搜索替换
搜索的文字/代码 | ?摔角网,- 摔角资料,- 赛事新闻,- 赛事战报, - 摔角网,www.shuaijiao.com |
替换成文字/代码 | ?摔角网(147hub.com) |
其他设置
Curl 路径 | /usr/bin/curl 此处curl必须使用 |
UserAgent | ? |
五、WP-JPost插件404错误
WP-JPost可能会遇到点击调试、采集按钮出现404错误,那么修改插件的wp-jpost.php文件中的代码,简单就是把两行代码前面的注释符号去掉。大约在260、261行。
function jpost_plugin_rules() { add_rewrite_rule('^jpost/?([^/]*)', 'index.php?jpost=jpost&$matches[1]', 'top'); add_rewrite_endpoint( 'jpost', EP_PERMALINK ); // 重置规则请删除一下2行的注释 global $wp_rewrite; $wp_rewrite->flush_rules(); }
感觉wp-jpost是一款很优秀的wordpress采集插件,但是不知道为什么作者站点的很多教程文章都不见了,插件也有很长时间没有更新,楚狂人花了很多精力才把收集到的资料整理成这篇教程,希望这么好的工具,作者以后能够继续维护下去。