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) 编辑 收藏 举报