ChemCrow中paperscraper正确下载(避坑版)

1. paperscraper下载

(1)错误下载方式

我们如果直接使用pip install paperscraper命令下载,会发现paperscraper中并没有search_papers模块,此时我们下载的是pyliaorachel/paperscraper工程:

pyliaorachel/paperscraper: A python module to scrape arxiv.org for specific date range and categoriesicon-default.png?t=O83Ahttps://github.com/pyliaorachel/paperscraper

(2)正确下载方式

适合ChemCrow的paperscraper模块来自blackadad/paper-scraper: A proof of concept to scrape papers from journalsicon-default.png?t=O83Ahttps://github.com/blackadad/paper-scraper我们应当直接下载https://github.com/blackadad/paper-scraper

pip install git+https://github.com/blackadad/paper-scraper.git

2. paper_scraper函数修改

新版的paper-scraper模块将search_papers修改为异步的a_search_papers,我们需要对chemcrow工程做出对应的修改。

我的虚拟环境目录为:

~/miniconda3/envs/chemcrowpy310

那么chemcrow中paper_scraper函数路径为:

~/miniconda3/envs/chemcrowpy310/lib/python3.10/site-packages/chemcrow/tools/search.py

在该路径下将paper_scraper函数做出修改,以下是原函数

def paper_scraper(search: str, pdir: str = "query", semantic_scholar_api_key: str = None) -> dict:
    try:
        return paperscraper.search_papers(
            search,
            pdir=pdir,
            semantic_scholar_api_key=semantic_scholar_api_key,
        )
    except KeyError:
        return {}

将paperscraper.search_papers修改为paperscraper.a_search_papers:

def paper_scraper(search: str, pdir: str = "query", semantic_scholar_api_key: str = None) -> dict:
    try:
        return paperscraper.a_search_papers(
            search,
            pdir=pdir,
            semantic_scholar_api_key=semantic_scholar_api_key,
        )
    except KeyError:
        return {}

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值