1. paperscraper下载
(1)错误下载方式
我们如果直接使用pip install paperscraper命令下载,会发现paperscraper中并没有search_papers模块,此时我们下载的是pyliaorachel/paperscraper工程:
(2)正确下载方式
适合ChemCrow的paperscraper模块来自blackadad/paper-scraper: A proof of concept to scrape papers from journalshttps://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 {}