/ZhiHu-Crawler

A simple ZhiHu Crawler using WebMagic

Primary LanguageJava

ZhiHu-Crawler

简单的Java爬虫项目, 爬取知乎用户信息, 目前已爬取100w条(历史项目用于比赛,由于网页结构等变化,代码已过期,不再维护。没学过Java,写的渣,仅供参考)

使用WebMagic框架, Maven构建项目

数据展示

数据展示

运行环境

JDK版本: 10   低版本需手动替换代码中的var

数据库支持: SQL Server / MySql

运行

主程序入口: Main.java

初次运行请配置jdbc.propertiescookies.txt

添加 -s 命令行参数可配置是否清空原有数据/线程数等,默认线程数为10

数据库配置

默认使用MySql持久化数据, 填入基本信息即可

也支持持久化至本地的SQL Server, 请在启动程序时添加 -s 参数配置启动, 采用Windows身份验证

Cookies配置

在浏览器中登录知乎, 在开发者工具 (F12) 中找到请求头cookies字段中的 z_c0 键值对,填入cookies.txt中

数量不限, 爬取速度 (由线程数和爬取间隔决定) 可随cookies数的增加而增加, 同时也可减少账号暂时被封的风险

运行示例

运行示例

爬取过程中按 ctrl+c 键停止爬虫

平均爬取速度: 1w条/h (5账号,10线程,2000+random(1000)sleep)

Sql访问情况

程序分析

所用框架语法参见WebMagic文档

项目分为主程序模块Crawler,爬虫组件模块Assembly,持久化模块Database

Crawler

Assembly

Database

可视化分析

可视化见img/visual文件夹