iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python如何实现搜索Google Scholar论文信息
  • 151
分享到

Python如何实现搜索Google Scholar论文信息

2023-07-05 09:07:29 151人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

本篇内容介绍了“python如何实现搜索Google Scholar论文信息”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!示例数据

本篇内容介绍了“python如何实现搜索Google Scholar论文信息”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

示例数据

Python如何实现搜索Google Scholar论文信息

示例代码

import requestsfrom bs4 import BeautifulSoupfrom tqdm import tqdmfrom pybtex.database import BibliographyData, Entryfrom pybtex.database.input import bibteximport pandas as pdimport timeimport JSON import random  def search_doi(doi):    '''根据doi查论文详细信息'''    url = f'https://api.crossref.org/works/{doi}'    response = requests.get(url)    result = None    if response.status_code == 200:        result = response.json()['message']    else:        print('Error occurred')    return result # doi = 'Https://dl.acm.org/doi/abs/10.1145/3394486.3403237'# result = search_doi(doi)# print(f"Title: {result['title'][0]}:{result['subtitle'][0]}")# print(f"Author(s): {', '.join(author['given'] + ' ' + author['family'] for author in result['author'])}")# print(f"Journal: {result['container-title'][0]}")# print(f"Publication Date: {result['published-print']['date-parts'][0][0]}")  def search_cite(atid):    '''根据atid查cite'''    url = f'https://scholar.google.com/scholar?q=info:{atid}:scholar.google.com/&output=cite&scirp=8&hl=zh-CN'    resp = requests.get(url)    soup = BeautifulSoup(resp.text, 'lxml')    result = {}    for item in soup.find_all('tr'):        cith = item.find('th', class_='gs_cith').getText()        citr = item.find('div', class_='gs_citr').getText()        result[cith] = citr    return result # result = search_cite('_goqYZv1zjMJ')# print(result)   # 更改节点配置def change_clash_node(node_name=None):    # Clash API的URL和密码    url = 'http://127.0.0.1:15043/proxies/????国外流量'    passWord = 'ee735f4e-59c6-4d60-a2ad-aabd075badb2'    local_node_name = ['香港1-IEPL-倍率1.0', '香港2-IEPL-倍率1.0', '香港3-IEPL-倍率1.0',                        '台湾1-IEPL-倍率1.0', '台湾2-IEPL-倍率1.0', '台湾3-IEPL-倍率1.0',                       '新加坡1-IEPL-倍率1.0', '新加坡2-IEPL-倍率1.0', '新加坡3-IEPL-倍率1.0'                       ]    node_name = node_name or random.choice(local_node_name)    print(f'当前选择节点名称: {node_name}')        headers = {'Authorization': password}    data = {        'name': 'Rule',        'type': 'Selector',        'now': node_name    }    response = requests.put(url, headers=headers, json=data)    if response.status_code == 200:        print('节点已更改为:', node_name)    else:        print('更改节点时出错:', response.text) # 更改节点为my_node# change_clash_node()   def proxy_requests(url):    proxies = {        'http': 'socks5://127.0.0.1:7890',        'https': 'socks5://127.0.0.1:7890'    }    return requests.get(url, proxies=proxies)  def search(title='GNN', start=0):    url = f'https://scholar.google.com/scholar?start={start}&q=allintitle:+{title}&hl=zh-CN&as_sdt=0,5'    resp = proxy_requests(url)    soup = BeautifulSoup(resp.text, 'lxml')    try:        papers_item = soup.find(id='gs_res_ccl_mid').find_all('div', class_='gs_scl')    except:        print(soup)        if 'captcha-fORM' in soup:            return -1    papers_info = []    for paper in papers_item:        publisher = paper.find('div', class_='gs_or_ggsm').getText().split()[1].split('.')[0]        href = paper.find('h4', class_='gs_rt').find('a').get('href')        title = paper.find('h4', class_='gs_rt').find('a').getText()        detail = paper.find('div', class_='gs_ri').find('div', class_='gs_a').getText()        year = detail.split(',')[-1].strip()[:4]                # atid = paper.find('h4', class_='gs_rt').find('a').get('data-clk-atid')        # cite_info = search_cite(atid)['MLA']        # cite_info_filter = list(filter(lambda x:x, map(lambda x:x.strip().strip('"').strip(), cite_info.strip().split('.'))))        # author, title, publisher, year = cite_info_filter                papers_info.append({'title':title, 'year':year, 'publisher':publisher, 'href':href})    return papers_info    index_start = 0index_end = 500index_gap = 10papers_store = []bar = tqdm(total=index_end-index_start, desc=f'From {index_start} to {index_end}')# for start in range(index_start, index_end, index_gap):while index_start < index_end:    try:        papers_info = search(title='GNN', start=index_start)        if papers_info == -1:            print('需要验证码,更换节点后2秒内重试')            change_clash_node()            time.sleep(2)            continue        papers_store.extend(papers_info)    except AttributeError as e:        print(e)        break            index_start += index_gap    bar.update(index_gap)    bar.refresh()    time.sleep(0.1)bar.close() df = pd.DataFrame(papers_info)print(df)df.to_csv('data.csv', index=False)

Python如何实现搜索Google Scholar论文信息”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: Python如何实现搜索Google Scholar论文信息

本文链接: https://www.lsjlt.com/news/350809.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python如何实现搜索Google Scholar论文信息
    本篇内容介绍了“Python如何实现搜索Google Scholar论文信息”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!示例数据...
    99+
    2023-07-05
  • Python实现搜索GoogleScholar论文信息的示例代码
    示例数据 示例代码 import requests from bs4 import BeautifulSoup from tqdm import tqdm from pybtex....
    99+
    2023-03-06
    Python搜索Google Scholar论文信息 Python搜索论文信息 Python Google
  • php如何实现人员信息搜索的功能
    本篇内容介绍了“php如何实现人员信息搜索的功能”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!php实现人员信息搜索的功能的方法:1、创建c...
    99+
    2023-06-22
  • python+django+mysql项目实践五(信息搜索)
    python项目实践 环境说明: Pycharm 开发环境 Django 前端 MySQL 数据库 Navicat 数据库管理 信息搜素 输入内容进行搜索,内容有文本类和时间类 文本类需要模糊搜索,包...
    99+
    2023-09-09
    python django mysql
  • linux如何实现文件搜索
    这篇文章主要介绍linux如何实现文件搜索,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1、linux中包含大量的文件,对于文件查找,linux提供了find命令。find是一个非常有效的工具,它可以遍历目标目录甚至...
    99+
    2023-06-09
  • PostgreSQL中如何实现全文搜索
    PostgreSQL中如何实现全文搜索,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。CREATE TABLE auth...
    99+
    2024-04-02
  • 用Python实现爬取百度热搜信息
    目录前言库函数准备数据爬取网页爬取数据解析数据保存总结前言 何为爬虫,其实就是利用计算机模拟人对网页的操作 例如 模拟人类浏览购物网站 使用爬虫前一定要看目标网站可刑不可刑 :-) ...
    99+
    2024-04-02
  • 微信小程序如何实现搜索功能
    这篇文章给大家分享的是有关微信小程序如何实现搜索功能的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。开发需求微信小程序已经是非常火了,而且学习也比较容易,但是对于初学者来说还是一件...
    99+
    2024-04-02
  • android如何实现仿微信通讯录搜索
    这篇文章将为大家详细讲解有关android如何实现仿微信通讯录搜索,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一:先看效果图字母索引搜索匹配二:功能分析1:汉字转拼音通讯录汉字转拼音(首个字符当考虑姓氏...
    99+
    2023-05-30
    android
  • 如何实现vue搜索和vue模糊搜索
    小编给大家分享一下如何实现vue搜索和vue模糊搜索,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1、使用vue来实现一般搜索&...
    99+
    2024-04-02
  • Python项目实战:百度百科关键字搜索信息
    前言今天为大家利用Python的format转发关键字来获取百度百科搜索信息,比如说你不懂一个名词,动词是什么意思,你可上百度百科上面自行搜索,今天用Python模拟百度百科搜索信息功能导入第三方库...
    99+
    2023-06-02
  • 亚马逊如何搜索服务器位置信息
    1. 了解亚马逊的全球基础设施 亚马逊是全球最大的云计算服务提供商之一,其基础设施遍布全球各地。为了搜索亚马逊服务器的位置信息,我们首先需要了解亚马逊的全球基础设施。 2. 使用亚马逊的全球基础设施查询工具 亚马逊提供了一个名为"亚马逊全...
    99+
    2023-10-27
    亚马逊 位置 服务器
  • 怎么在python中实现被动信息搜集
    这篇文章将为大家详细讲解有关怎么在python中实现被动信息搜集,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Python主要用来做什么Python主要应用于:1、Web开发;2、数据科学研...
    99+
    2023-06-14
  • MySQL中如何实现全文搜索操作
    本篇文章为大家展示了MySQL中如何实现全文搜索操作,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。全文搜索通过MATCH()函数完成。> CREATE TAB...
    99+
    2024-04-02
  • SQLite3如何实现数据库全文搜索
    这篇文章主要为大家展示了“SQLite3如何实现数据库全文搜索”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“SQLite3如何实现数据库全文搜索”这篇文章吧。对...
    99+
    2024-04-02
  • SQL Server如何实现全文搜索查询
    本篇内容介绍了“SQL Server如何实现全文搜索查询”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、概述全文索引在表中包括一...
    99+
    2023-07-05
  • 微信小程序如何实现顶部搜索框
    这篇文章主要介绍“微信小程序如何实现顶部搜索框”,在日常操作中,相信很多人在微信小程序如何实现顶部搜索框问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”微信小程序如何实现顶部搜索框”的疑惑有所帮助!接下来,请跟...
    99+
    2023-06-30
  • Android如何实现搜索框
    这篇文章主要介绍了Android如何实现搜索框,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。具体内容如下展示效果代码区SouActivitypublic class...
    99+
    2023-05-30
    android
  • Angular如何实现搜索框
    这篇文章主要介绍Angular如何实现搜索框,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1.要求:利用 AngularJS 框架实现手机产品搜索功能,题目要求:1)自行查找素材,按...
    99+
    2024-04-02
  • css搜索框如何实现
    这篇文章将为大家详细讲解有关css搜索框如何实现,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 css实现搜索框的方法:首先组织页面结构;然后...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作