Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
bin
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

知乎日报的 Spider-Man

详细介绍

About

Node.js + Vue.js + MongoDB 的知乎日报爬虫项目

技术栈

后端

Node.js + Express + MongoDB

使用 Express 搭建 web 服务,爬虫爬取的数据用 MongoDB 存储。

用 node-jieba分词 分析正文的tag,做则更能准确的数据分析和内容搜索 (doing)

前端

ES6 + Vue + Webpack

基于 Vue2.0 的单页面应用 用webpack做前端代码构建

数据统计的页面使用原生 ES6 代码编写,单独配置了webpack做构建,没有和 Vue 的webpack构建代码混在一起

使用说明

mongoDB

  1. 启动 mongoDB sudo mongod

  2. 用命令 mongo 进入命令行模式

  3. 创建数据库

use zhihu
  1. 创建用户 (这里的 username 和 password 要和 config.js 里相对应)
db.createUser({
  user: "username",
  pwd: "password",
  "roles" : [
  {
    "role" : "readWrite",
    "db" : "report"
  },{
    "role" : "dbAdmin",
    "db" : "report"
  }]
})

配置文件 config.js

config.js.sample 重命名为 config.js

说明:

  • auth 知乎日报用来验证用户的key 用于http的请求头(真正的key叫做 Authorization)
  • fire: true 是否启动爬虫爬取历史信息
  • openTask:true 表示开启定时任务 每日爬虫和定时更新
  • interval 爬虫间隔时间
  • start end 爬历史数据的开始结束时间 为由近到远的日期(知乎日报生日: 20130519)
    start时间 比 end时间 晚

在config.js文件中设置 fire: true 表示开启爬虫,对应的 start end

其他

如果在页面的HTTP的请求头里想加入 Authorization 和 referer 可以用这个 chrome扩展

知乎日报的API

1、启动界面图像

  • URL http://news-at.zhihu.com/api/4/start-image/1080*1776
  • 图像分辨:
    • 320*432
    • 480*728
    • 720*1184
    • 1080*1776

现在返回的图片应该都不再区分分辨率,都是同一尺寸了

2、最新消息

  • URL http://news-at.zhihu.com/api/4/news/latest

3、历史消息

  • URL http://news.at.zhihu.com/api/4/news/before/20150101
  • 请求 20150101 返回 2014年12月31日 的内容
  • 请求日期大于今日 返回今日的内容

4、文章详情内容

  • URL http://news-at.zhihu.com/api/4/news/4620055
  • 参数: 最新消息和历史消息返回的字段: id
  • 返回信息:
    • body: HTML格式的详情文章
    • title:文只标题
    • image:文章顶部的大图
    • image-source:图片的版权信息
  • 特殊情况:
    • http://news-at.zhihu.com/api/4/story/3942319
    • 来自之乎日报站外的内容
    • 返回的字段 没有body、img、image-source等字段
    • share_url 字段会跳转到站外文章

4.1、文章详情的点赞数、长评论、短评论数量

  • URL http://news-at.zhihu.com/api/4/story-extra/7033320
  • 返回信息:
    • long_comments: 长评论
    • popularity:点赞数
    • short_comments:短评论数
    • comments:总评论数

5、文章长评论

  • URL http://news-at.zhihu.com/api/4/story/4628696/long-comments
  • story后面即为文章的id

6、文章短评论

  • URL http://news-at.zhihu.com/api/4/story/4628696/short-comments

7、主题日报的列表

  • URL http://news-at.zhihu.com/api/4/themes

8、主题日报内容

  • URL http://news-at.zhihu.com/api/4/theme/2
You can’t perform that action at this time.