带大家用python实现一波论文自由~

这篇博客介绍了如何使用Python实现谷歌学术搜索和通过sci-hub下载论文。通过设置搜索参数,利用requests和beautifulsoup4提取论文信息,并使用sci-hub的多个备用链接确保下载功能的稳定性。同时,提供了代码示例和开源项目的链接,方便读者直接使用或进行二次开发。注意,文章还给出了在国内环境下使用谷歌学术镜像的技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

相关文件

想学Python的小伙伴可以关注小编的公众号【Python日志】
有很多的资源可以白嫖的哈,不定时会更新一下Python的小知识的哈!!
Python学习交流群:773162165

开发环境

Python版本:3.7.8
相关模块:
requests模块;
beautifulsoup4模块;
click模块;
prettytable模块;
paperdl模块;
以及一些python自带的模块。

环境搭建

安装Python并添加到环境变量,pip安装需要的相关模块即可。

原理简介

首先,确定一下我们的目标是实现在谷歌学术上搜索论文,然后再通过sci-hub这个平台来下载我们搜索到的论文。于是,第一步我们要实现的就是在谷歌学术上搜索论文,简单抓包可以发现:在这里插入图片描述
请求如下链接就可以获取搜索结果了:

https://scholar.google.com/scholar?

需要携带的参数也很简单:在这里插入图片描述
q是我们搜索的论文关键字,其他参数的值都是可以当作固定的,最后我们再借助beautifulsoup4这个包把我们需要的论文信息提取出来即可,具体而言,核心代码实现如下:

'''search paper'''
def search(self, keyword):
    # search
    if self.config.get('area') == 'CN':
        search_url = random.choice([
            'https://xs2.dailyheadlines.cc/scholar',
            'https://scholar.lanfanshu.cn/scholar',
        ])
        params = {
   
            'hl': 'zh-CN',
            'as_sdt': '0,33',
            'q': keyword,
            'btnG': ''
        }
    else:
        search_url = 'https://scholar.google.com/scholar'
        params = {
   
            'hl': 'en',
            'as_sdt': '0,5',
            'q': keyword,
            'btnG': ''
        }
    headers = {
   
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36'
    }
    response = self.session.get(search_url, params
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值