SEO处理采集内容问答

自媒体 投稿&转载 1343浏览

后台留了一堆问题,本篇是对其中两个问题的答疑

正文抽取

在【SEO如何处理采集内容 ①】中的“泛采集”部分提到过正文抽取,然后有一些人依旧表示不知道怎么搞。

这东西用网上开源的就可以,Google搜索“{编程语言}正文提取算法”便能找到一大堆的解决方案,如:Readability、Boilerpipe、Diffbot……大部分算法已经打包好了,拿过来就可以直接用,用不着自己写。我们是做网站的,不是搞技术的,有现成的轮子用就OK了。

那么一些人又有一个问题:我该用哪个好呢?

No No No,这不是用轮子的思维,首先不可能每个算法都能提取所有的网页,其次,算法不止一个。

那这件事就简单了,一个算法没有将当前网页的正文提取出来,好办,不用做别的,直接切下一个算法接着试,这个不行再换下一个,如果网页正常,总有一个能将正文提取出来。除非这个页面模板乱七八糟什么都有,比如网站首页,没有明显的主体内容区块,这个另算。

所以,如果泛采集过程中需要提取正文的链接中,最好先将首页url过滤掉。

如果非要纠结用哪个好,请参考:http://tomazkovacic.com/blog/2011/06/09/evaluating-text-extraction-algorithms/

内容去重

另一个问题,采集到重复的内容咋办?

本渣渣之前用过两个办法。

第一种:

首先我们已经限定有效内容需要满足哪些指标,比如字数必须大于150字,才算有效内容,小于150字的删除不入库。那么大于150字的内容一般都有4个以上标点符号。

XXXXXXX,XXXXXXXXX。XXX:“XXXXXX,XXXXXXXXXXXX。XXXXXX,XXXXXXXXXX,XXXXXXXX,XXXXXX。XXX?”

XXXX,XXXXXXX。XXXXXXX;XXXX;XXXXXXXX;XXXXXX,XXXXXXXXXX,XXXXXXXX,XXXXXX - XXX!

所以每篇文章,从第2个标点符号开始,连续提取两个标点符号之间的文本,且字数大于7的,直至提取3个文本段。

然后将这3个文本段合并成一个,将文本段重复的文章去重,只保留一个。因为连续3个文本段相同的文章基本都是重复的,而且是完全重复,改都没改的。

第二种

用现成的文本去重算法,依旧Google搜索,一堆现成的解决方案,如simhash、Shingling…..

首先对所有抓回来的文本清洗,去除无关词汇,如停止词、助词(的地得..)什么的,然后再通过上述的解决方案来计算相似文档。

哪个好?本渣渣觉得都一般,没觉得哪个好,但都可以凑活用。。。

但都有个问题,一旦文章量大起来,比如上了几百万,程序跑起来很慢,巨烧CPU,怎么办??

于是就沿用第一种办法的思路,不分析全文了,直接找出每篇文章的最长的n句话,做一遍hash签名,然后还是用上述现成的算法去跑,n一般取3。不但运行速度快了很多,找相似文章的最终效果貌似也比之前好了。

 

===================================================

 

推荐阅读

Python实现聚合问答采集文章

最近在一个社区得到了一个用python聚合问答的工具,但是因为已经打包成程序了,所以无法研究,于是在网上找了一个网友分享的源代码,转载于此,供志愿者学习和后期扩展。这个工具可以通过头条搜索、百度下拉结果、搜狗下拉、百度知道搜索、新浪爱问、搜狗问问,将......

python怎么采集内容标题进行重写伪原创

内容采集是站长常常需要的工作,而为了进一步提升采集内容的SEO价值,往往需要对内容进行进一步处理,其中修改标题就是最重要的一项,如果一个个修改太累了,怎么通过python批量进程重写伪原创呢?...

搜狗石榴算法上线,打击网站恶劣采集行为

为促进搜索内容生态健康发展,保障用户的浏览体验,搜索将于6月17日推出石破算法。该算法旨在对包含恶劣采集行为的链接、网站进行识别,根据网站作弊程度落实相应的清洗打压措施。恶劣采集标准解读与示例如下,烦请合作方自查并于算法上线前完成全面整改。 1. 内......