历史上的今天,提供维基百科爬虫和API
Clone or download
Pull request Compare This branch is 7 commits ahead of libowei1213:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.gitignore
README.md
failed.txt
index.php
requirements.txt
today.py

README.md

Today in History

通过爬取维基百科,获得“历史上的今天”数据库,并提供API。

Requirements

python3, mysql and php is required. You can use apt-get, yum or brew to install them.

Install

# Clone this repository
git clone https://github.com/stevenjoezhang/TodayInHistory-Crawler.git
# Go into the repository
cd TodayInHistory-Crawler
pip install -r requirements.txt
#or pip3 install -r requirements.txt

Run

修改mysql.pyindex.php中的参数usernamepassworddbname,分别是你的登录用户名、密码和数据库名。数据表名默认是event,也可以自行修改。先创建数据表,执行:

CREATE DATABASE dbname;
#建立数据库,dbname保持一致即可
USE dbname;
CREATE TABLE event (
  id int(10) UNSIGNED PRIMARY KEY NOT NULL AUTO_INCREMENT,
  type int(1) DEFAULT NULL,
  year varchar(6) DEFAULT NULL,
  date varchar(6) DEFAULT NULL,
  info varchar(300) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
QUIT;

然后,运行today.py(如果中文维基百科无法正常访问,请使用该文件中提供的代理):

python3 today.py

在爬取了1月1日到12月31日的数据后,就可以通过访问index.php进行查询了。
爬取失败的项目会被记录在error.txt中,这里有一份样例,大多是由于字符集造成的问题。

Credits

License

Released under the GNU General Public License v3
http://www.gnu.org/licenses/gpl-3.0.html