littlebot
Published on 2025-04-09 / 0 Visits
0

【源码】基于Scrapy框架的学术论文爬虫系统

项目简介

本项目借助Scrapy框架打造了一个针对学术论文网站的大规模爬虫系统。主要对ACM、Springer、ScienceDirect这三个学术论文网站开展数据爬取工作,爬取内容涵盖论文基本信息、PDF文件以及视频URL地址等。爬取的数据会存储在MongoDB中,同时通过Elasticsearch和Kibana搭建了可视化检索系统,便于用户对数据进行检索和展示。

项目的主要特性和功能

  • 爬取数据自动去重:爬虫遇到相同论文时,系统自动去除重复数据,保证数据库中数据唯一。
  • IP池、线程池爬取:部署代理IP池,爬虫随机获取可用IP,支持多线程爬取,提高爬取效率。
  • 增量爬取:支持增量式爬取,定时更新数据,确保数据实时性。
  • 异常处理:运用try - catch逻辑块处理异常,防止爬虫意外退出。
  • 断点续爬:网络崩溃或手动终止爬取时,系统能从断点处继续,避免数据丢失。
  • 日志技术:爬虫的爬取信息和状态实时通过日志输出,方便用户监控。

安装使用步骤

1. 运行环境

  • 系统:Windows、Linux、MacOS
  • 软件:Python 3

2. 安装依赖

在项目根目录下执行以下命令安装依赖: bash pip install -r requirements.txt

3. 安装组件

3.1 ElasticSearch

bash wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.16.2-linux-x86_64.tar.gz tar -xzf elasticsearch-7.16.2-linux-x86_64.tar.gz cd elasticsearch-7.16.2/ ./bin/elasticsearch curl 'localhost:9200'

3.2 MongoDB

bash sudo apt-get install libcurl4 openssl wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu1804-5.0.5.tgz tar -zxvf mongodb-linux-x86_64-ubuntu1804-5.0.5.tgz mv mongodb-src-r5.0.5 /usr/local/mongodb export PATH=/usr/local/mongodb/bin:$PATH sudo mkdir -p /var/lib/mongo sudo mkdir -p /var/log/mongodb sudo chown `whoami` /var/lib/mongo sudo chown `whoami` /var/log/mongodb cd /usr/local/mongodb/ ./bin/mongod -f ./bin/mongodb.conf ./bin/mongo

3.3 Kibana

bash curl -O https://artifacts.elastic.co/downloads/kibana/kibana-7.16.2-darwin-x86_64.tar.gz tar -xzf kibana-7.16.2-darwin-x86_64.tar.gz cd kibana-7.16.2-darwin-x86_64/ ./bin/kibana 访问localhost:5601检查安装结果。

3.4 ProxyPool

bash cd ProxyPool pip3 install -r requirements.txt 参考Redis安装教程安装和配置Redis。 bash ./redis-server python3 run.py 使用代理池可通过http://localhost:5555/random获取随机可用代理。

4. 运行

bash git clone <仓库地址> python prepare.py cd Reptiles chmod +x run.sh ./run.sh ACM 其中ACM可替换为SpringerScienceDirect。爬虫日志位于Logs文件夹内。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】