# acl-anthology-helper
**Repository Path**: travis-tang/acl-anthology-helper
## Basic Information
- **Project Name**: acl-anthology-helper
- **Description**: To help search, filter, and download papers from 'acl anthology' (https://aclanthology.org/).
- **Primary Language**: Python
- **License**: MIT
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 1
- **Forks**: 0
- **Created**: 2021-09-15
- **Last Updated**: 2024-09-09
## Categories & Tags
**Categories**: Uncategorized
**Tags**: Spider
## README
# acl-anthology-helper
[](https://opensource.org/licenses/MIT)
[](/README_zh.md)
acl-anthology-helper的主要目的是快速地从'acl anthology' ([https://aclanthology.org/](https://aclanthology.org/))官网上下载指定论文集中包含某些关键词的论文.
## 主要功能
- 检索[acl anthology](https://aclanthology.org/) 官网中收录的论文。
直接从网上检索.
e.g. ```Retriever.acl(2021, ConfConsts.LONG)```
将论文保存到本地数据库中([MySQL](https://dev.mysql.com/downloads/mysql/)).
e.g.
```db = AnthologyMySQL(cache_enable=True)```
```db.create_tables()```
```db.load_data() # 将数据爬取载入数据库中```
- 引入[ABuilder](https://github.com/lizhenggan/ABuilder) 以支持对[MySQL](https://dev.mysql.com/downloads/mysql/) 的链式操作。
e.g.
```data = ABuilder().table('paper').where({"year": ["in", years_limit]}).where({"venue": ["in", venue_limit]}).query()```
- 通过关键词对论文进行过滤。
e.g. ```filtered = papers.filter('title', 'xxx') | papers.filter('abstract', 'xxx')```
e.g. ```filtered = papers.and_containing_filter(attr, [keyword1, keyword2])```
- 下载所需要的论文。
e.g. ``` downloader.multi_download(filtered, download_path)```
- 本地缓存。
- 日志打印。
- 信息采集。
## 快速开始
- 首先, 你需要安装[MySQL](https://dev.mysql.com/downloads/mysql/) ,我使用的是MySQL 8。
配置你的MySQL数据库,添加 ```src/configuration/mysql_cfg.py```文件。
```src/configuration/mysql_cfg.py``` 的文件内容可以参考以下格式:
```python3
class MySQLCFG(object):
HOST = 'localhost'
PORT = 3306
USER = "root"
PASSWORD = "xxx"
DB = "xxx"
```
同时,在MySQL中创建相应的数据库。
- 如果你想使用 [ABuilder](https://github.com/lizhenggan/ABuilder) 对MySQL进行链式查询。
你需要写一个ABuilder的配置文件 ```tasks/database.py``` 。
具体内容你可以参考[ABuilder](https://github.com/lizhenggan/ABuilder).
- 下载代码,打开终端切换至代码的根目录。
运行
```python3
pip install requirements.txt
cd tasks
python basic_task.py
```
如果打算重新下载所有内容,请删除缓存目录 ```tasks/cache``` ,或者通过设置 ```cache_enable=False``` 来禁用缓存。
## 提示
该项目用 Python 3.6 所写, 不支持 Python 2。
**ACL Anthology官网**

可以看到有很多论文集。
打开其中一个可以看到论文列表。
