GithubHelp home page GithubHelp logo

paperinfo_crawler's Introduction

爬取论文元数据和摘要

注意,本项目不会下载论文,仅获取包括摘要在内的论文元数据。

支持的会议/期刊

包含摘要的 bibtex 文件可以从 这里 获取。

理论上支持 IEEE、ACM、Elsevier、Springer 出版或举办的期刊和会议,以及 USENIX、NDSS、IOS Press 出版社。可参考 论文元数据收集情况表,“收录情况”一列不为空的是已经测试过可用的期刊或会议,空的是没有测试或不支持的出版社。

安装

为了稳定运行 selenium,建议下载 chromedriver,并在 settings.py 中修改 chromedriver_path

# For Windows
cd paperinfo_crawler
python -m venv ./venv
.\venv\Scripts\activate
pip install -r requirements-no-version.txt
# For Linux
cd paperinfo_crawler
python -m venv ./venv
source ./venv/bin/activate
pip install -r requirements-no-version.txt

运行

脚本分为两部分:

  1. dblp 获取给定会议和年份的论文列表,或给定期刊和卷号的论文列表,得到 bibtex 格式的引用,并获取论文的 doi.org/xxxx 格式的 URL 链接。
  2. 访问每一篇论文的链接,该链接会自动重定向到出版社的页面。脚本尝试从页面中获取摘要,合并到 bibtex 引用中,生成 .bib 文件。
cd src
python ./main.py --help

# e.g.
# 会议
python ./main.py -n raid -y 2022 -e -d 5 -t 8
# dblp 上,部分会议一年分为多个part
# 通过 -f 参数,使用保存的dblp论文列表获取摘要
# 如果要爬取的会议/期刊不在已验证的支持范围内,用 -p 手动指定出版社
python .\main.py -n iccS -y 2022-2 -p springer -f ./iccS2022-2_dblp.pkl -t 6

# 期刊
python ./main.py -n tifs -u 16 -e -d 5 -t 8
# 可以批量下载多个卷
python ./main.py -n tifs -u 16-18 -e -d 5 -t 8

测试环境

由于设备有限,当前只在 Windows 11 系统下,Python 3.9.7 环境运行过脚本。该脚本理论上不受系统限制。注意需要下载对应操作系统的 chromedriver 即可。

已知问题

  1. 部分带有公式的论文摘要可能无法正确爬取。
  2. 部分论文尚未收录在 doi.org 网站上,因此无法通过该链接重定向到出版社的论文页面获取摘要。

TODO

  • 命令行
  • 保存 dblp 检索结果到 pkl
  • 进度条
  • Springer Conf
  • 期刊
  • Elseiver journals
  • 优化 IEEE 爬取代码
  • 爬取 JCS

paperinfo_crawler's People

Contributors

lraxer avatar

Stargazers

chtx avatar Guo Jiaming avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.