说明
-
使用Python 3 在requests和bs4库的环境中运行。
-
请将文章的DOI码的.txt以utf-8形式存储(不是带BOM的utf-8,可以保存或另存为txt文件时,查看编码格式)查看文件在该.py文件同目录下,每行存放一个文献的DOI码,完毕须换行(最后一个也须换行!)
-
20210607更新: 添加headers,防止HTTP403报错
-
20210801更新:清空成功下载后的download_url变量,防止前面变量赋值传递。
-
20211111更新:部分网址源代码的下载资源更改,增加download_url获取途径。
-
请勿从事任何违法活动!
注:
由于sci-hub库于2021年始就再未更新,所以请求近期文章时会访问失败。
当服务器数据库无请求的文献资源时,会使download_url = soup.iframe.attrs[“src”]赋值失败,产生错误。AttributeError: ‘NoneType’ object has no attribute ‘attrs’
因为该网站会一段时间更改网页代码格式,所以此代码需要定期维护。
# -*- coding: utf-8 -*-
# @Author: Cheung Y.H.
# @Date : 2021/11/11
# version: Python 3.9.2
'''
作者敬告:本代码仅用于学术交流,作者不负版权责任。请勿从事任何违法活动!请访问出版社下载阅读正版文章!
Author Warning: This code is only used for academic communication.
The author has no liability for copyright.
DO NOT ENGAGE IN ANY ILLEGAL ACTIVITIES.
Please download and read the genuine articles from the publisher.
'''
import requests
from bs4 import BeautifulSoup
import os
path = ".\\downloadArticles\\"
if os.path.exists(path) &#