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
以上
week07 13.4 NewsPipeline之 三 News Deduper的更多相关文章
- week07 13.3 NewsPipeline之 三News Deduper之 tf_idf 查重
我们运行看结果 安装包sklearn 安装numpy 安装scipy 终于可以啦 我们把安装的包都写在文件里面吧 4行4列 轴对称 只需要看一半就可以 横着看 竖着看都行 数值越接近1 表示越相似 我 ...
- week07 13.1 NewsPipeline之 一 NewsMonitor
我们要重构一下代码 因为我们之前写了utils 我们的NewsPipeline部分也要用到 所以我们把他们单独独立得拿出来 删掉原来的 将requirements.txt也拿出去 现在我们搬家完成 我 ...
- week07 13.2 NewsPipeline之 二 News Fetcher - Xpath
我们使用Xpath来专门做一个scrapter 我们专门弄个文件夹 里面全部是 各个新闻源(CNN BBC等)的scraper来抓取网站的text内容 主要函数(就是传入text内容的那个url)然后 ...
- C# 基础知识系列-13 常见类库(三)
0. 前言 在<C# 基础知识系列- 13 常见类库(二)>中,我们介绍了一下DateTime和TimeSpan这两个结构体的内容,也就是C#中日期时间的简单操作.本篇将介绍Guid和Nu ...
- Python for Infomatics 第13章 网页服务三(译)
注:文章原文为Dr. Charles Severance 的 <Python for Informatics>.文中代码用3.4版改写,并在本机测试通过. 13.6 应用程序接口API 现 ...
- 13 (H5*) JS第三天 数组、函数
目录 1:数组的定义和创建方式 2:数组的总结 3:for循环遍历数组 4:数组的案例 5:冒泡排序 6:函数的定义 7:函数的参数 8:函数的返回值 复习 <script> /* * * ...
- 外包公司派遣到网易,上班地点网易大厦,转正后工资8k-10k,13薪,包三餐,值得去吗?
作为一个人,我们必须时时刻刻清醒地看待自己,做到不卑不亢才能坚强地活下去. 请肆无忌惮地点赞吧,微信搜索[沉默王二]关注这个在九朝古都洛阳苟且偷生的程序员.本文 GitHub github.com/i ...
- 2018/2/13 ElasticSearch学习笔记三 自动映射以及创建自动映射模版,ElasticSearch聚合查询
终于把这些命令全敲了一遍,话说ELK技术栈L和K我今天花了一下午全部搞定,学完后还都是花式玩那种...E却学了四天(当然主要是因为之前上班一直没时间学,还有安装服务时出现的各种error真是让我扎心了 ...
- 深入刨析tomcat 之---第13篇 tomcat的三种部署方法
writedby 张艳涛 一般我们都知道将web 应用打成war包,放到tomcat的webapp目录下,就是部署了,这是部署方法1 第2种部署方法我们也知道,就是讲web应用的文件夹拷贝到webap ...
随机推荐
- keras中VGG19预训练模型的使用
keras提供了VGG19在ImageNet上的预训练权重模型文件,其他可用的模型还有VGG16.Xception.ResNet50.InceptionV3 4个. VGG19在keras中的定义: ...
- 让MySQL数据库跑的更快的7个优化建议!
随着容量和负载的增加,MySQL 的性能会日趋缓慢.这里有七点建议能够保证 MySQL 的平稳运行. 性能是我们衡量应用的一种方式,而应用性能的一项指标就是用户体验,也就是平时我们常说的:“用户需要等 ...
- maven项目pom.xml第一行报错
maven项目pom.xml第一行报错 这是第一行:<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi= ...
- latex之插入向量、图片、编号
1.向量 $\vec a$\qquad $\overleftarrow{AB}$\qquad $\overleftrightarrow{AB}$\qquad $\overrightarrow{AB}$ ...
- Codeforces1062C. Banh-mi(贪心+快速幂)
题目链接:传送门 题目: C. Banh-mi time limit per test second memory limit per test megabytes input standard in ...
- Linux下设置redis的密码和远程访问
编辑vi /etc/redis/redis.conf ,有的是vi /etc/redis.conf ,在68行修改:bind 127.0.0.1 ::1 为 bind 0.0.0.0 ::1,这样就可 ...
- vue中使用axios给生产环境和开发环境配置不同的baseUrl
第一步:设置不同的接口地址 找到文件:/config/dev.env.js 代码修改为: var merge = require('webpack-merge') var prodEnv = requ ...
- webpack学习笔记(三)
访问网址: https://github.com/webpack/analyse "scripts": { "dev-build": "webpack ...
- C# Restful 启用 Session
虽然很多人说不建议启用,但我就是想启用. [ServiceContract(SessionMode=SessionMode.Allowed)] public interface IBIService ...
- Java中的接口和抽象类
接口和抽象类是Java设计中最基本的概念,它们都不能实例化对象,都可以实现多态,也都能用来创建匿名内部类.但实际使用上还有很多的不同. 两者的语法定义不同,对应的设计抽象关系也不同,接口主要是对行为的 ...