PoeticalJustice

导航

week07 13.4 NewsPipeline之 三 News Deduper

还是循环将Q2中的东西拿出来 

然后查重(去mongodb里面把一天之内的新闻都拿出来,然后把拿到的新的新闻和mongodb里一天内的新闻组一个 tf-idf的对比)可看13.3

相似度检查 如果超过一定的值 我就认为他是一个老的新闻 丢掉 不插入数据库

吐过相似度低于那个值 我们就认为他是新的新闻 然后插入数据库里面

 

 

 

 上面是需要的配置信息

 

后边mongodb是支持按照时间范围查找数据的

比如一天 设置一个时间的上界和下界 他们之间的时间设置成1天 那么就可以查出一天内的数据

下界就是昨天的时间戳 上界就是现在的时间

所以要用到datatime

进行处理

 

 

 

 需要安装

最后放到mongodb

验证一下

我们将redis 和数据库都清理一下

先清理数据库

将tap-news数据下collections的news下的2条数据删除了

redis清除数据缓存

然后我们从monitor开始 fetcher最后deduper都执行一遍

首先抓

 

 

然后

 

最后

 

 

 

 

最后呢 我们知道XPATH不是很方便 我们用第三方工具newspaper

安装

这个问题的解决 13.5 https://i.cnblogs.com/EditPosts.aspx?postid=9609542

安装后我们需要改一下new_fetcher

 

newspaper

 

 我们来测试一下

我改了 python默认版本 本来默认是python2.7 我改成3.6.5啦 所以执行python2.7的文件要python2 xx.py 

具体参考https://blog.csdn.net/hymanjack/article/details/80285400

python2 news_fetcher.py

 

说明是工作的

newpaper不单单只是支持一个源 cnn 他支持多个源 只要你提供api

你可以添加你想要的源 只要api支持

这些源的名字不是瞎写的 我们是在api news提供api的那个网站的找的

 

 

黑字部分都可以

 

 我们有了这三monitor fetcher deduper 每次都手动命令 就很麻烦 所以 我们还是写个脚本 以后只要一条命令就搞定了

pip也要改成pip2

 

具体看

https://www.cnblogs.com/PoeticalJustice/p/9570352.html

https://www.howtoing.com/how-to-install-mongodb-on-ubuntu-18-04

然后改变他的权限 (变绿)才能生效

chmod +x news_pipeline_launcher.sh

 

 打开之后ctrl+c 结束不了 因为那3个py文件在跑 你可以执行一条命令

来直接结束他

sudo killall python2

 以上

posted on 2018-09-07 14:32  PoeticalJustice  阅读(268)  评论(0编辑  收藏  举报