A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/Archerll/Paperspider below:

Archerll/Paperspider: Crawl the latest papers on arXiv every day.

PaperSpider 是一个用于自动爬取和下载 arXiv 学术论文的爬虫系统。该项目可以根据指定的学术分类(如 cs.AI、cs.CL 等)定期抓取最新发布的论文信息,包括标题、作者、摘要、PDF链接等,并将这些信息存储到数据库中。同时,系统还提供了自动下载论文PDF文件的功能。

PaperSpider/
├── app/                    # 主应用目录
│   ├── __init__.py
│   ├── models/             # 数据模型
│   │   └── paper_download.py
│   ├── settings.py         # Scrapy 设置
│   ├── spiders/            # 爬虫目录
│   │   ├── __init__.py
│   │   ├── arxiv_spider.py # arXiv 爬虫
│   │   ├── items.py        # 数据项定义
│   │   └── pipelines.py    # 数据处理管道
│   └── utils/              # 工具类
│       ├── db_utils.py     # 数据库工具
│       └── downloader.py   # 论文下载器
├── papers/                 # 下载的论文存储目录
├── .env                    # 环境变量配置
├── requirements.txt        # 项目依赖
├── run_spider.py           # 爬虫启动脚本
├── scrapy.cfg              # Scrapy 配置
└── tasks.py                # Celery 任务定义

存储爬取的论文信息:

存储论文下载状态:

pip install -r requirements.txt
  1. 创建 MySQL 数据库
CREATE DATABASE paper_assistant CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
  1. 配置 .env 文件
# 数据库配置
DB_USER=root
DB_PASSWORD=your_password
DB_HOST=localhost
DB_PORT=3306
DB_NAME=paper_assistant

# Scrapy配置
BOT_NAME=PaperAssistant
SPIDER_MODULES=['app.spiders']
NEWSPIDER_MODULE='app.spiders'

# Celery配置
CELERY_BROKER_URL='redis://localhost:6379/0'
CELERY_RESULT_BACKEND='redis://localhost:6379/0'

这将启动爬虫,根据 run_spider.py 中的配置爬取指定分类的论文。默认爬取 cs.CL 分类的最近 1 天发布的论文。

可以修改 run_spider.py 中的参数来自定义爬取行为:

# 修改爬取的分类和时间范围
process.crawl('arxiv', categories='cs.AI,cs.CL', days_back=3)
  1. 启动 Redis 服务
  1. 启动 Celery Worker
celery -A tasks worker --loglevel=info
  1. 启动 Celery Beat (定时任务调度器)
celery -A tasks beat --loglevel=info
  1. 请遵守 arXiv 的使用政策,避免频繁请求对服务器造成压力
  2. 默认配置已经设置了合理的请求频率限制和并发数
  3. 下载的论文 PDF 文件会按日期存储在 papers/ 目录下
  4. 确保系统有足够的存储空间用于保存论文文件

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4