selenium模拟浏览器查询导出参考文献

通过使用Selenium和BeautifulSoup,在CNKI网站上,以"知识图谱"为关键词,通过自动化工具在搜索页面提取相关文章信息。点击清楚并全选进行文献导出,随后从导出页面和管理导出的页面提取参考文献。

浏览器及WebDriver下载
https://googlechromelabs.github.io/chrome-for-testing/#stable

放到/usr/local/bin (mac的配置)

mv chromedriver /usr/local/bin
cd /usr/local/bin
xattr -d com.apple.quarantine chromedriver

提取文献代码

from selenium import webdriver
from selenium.webdriver.common.by import By
import time
from bs4 import BeautifulSoupdef driver_open(driver, key_word):url = "https://www.cnki.net/"driver.get(url)time.sleep(2)driver.find_element(By.CSS_SELECTOR ,'#txt_SearchText').send_keys(key_word)time.sleep(2)# 点击搜索按钮driver.find_element(By.CSS_SELECTOR ,'body > div.wrapper.section1 > div.searchmain > div > div.input-box > input.search-btn').click()time.sleep(5)driver.find_element(By.CSS_SELECTOR,'#briefBox > div:nth-child(1) > div > div.toolbar-col > div.checkcount > a').click()time.sleep(2)driver.find_element(By.CSS_SELECTOR,'#selectCheckAll1').click()driver.find_element(By.CSS_SELECTOR,'#batchOpsBox > li:nth-child(2) > a').click()driver.find_element(By.CSS_SELECTOR,'#batchOpsBox > li:nth-child(2) > ul > li.export > a').click()driver.find_element(By.CSS_SELECTOR,'#batchOpsBox > li:nth-child(2) > ul > li.export > ul > li:nth-child(1) > a').click()time.sleep(2)url1="https://kns.cnki.net/dm8/manage/export.html?language=CHS&uniplatform=NZKPT"driver.get(url1)time.sleep(5)driver.find_element(By.CSS_SELECTOR,'#result > ul').click()content = driver.page_source.encode('utf-8')soup = BeautifulSoup(content, 'lxml')ul = soup.find_all('ul')ul = BeautifulSoup(str(ul[5]), 'lxml')lis = ul.find_all('li')text=""for li in lis:text = text + li.get_text().strip().replace(" ","")+"\n"return text
if __name__ == '__main__':chrome_options= webdriver.ChromeOptions()chrome_options.add_argument('--headless')chrome_options.add_argument('--disable‐gpu')path="/usr/local/bin"chrome_options.binary_location = pathdriver = webdriver.Chrome(options=chrome_options)text = driver_open(driver, '知识图谱') print(text)

运行结果
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/236796.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【模块系列】STM32BMP280

前言 最进想练习下I2C的应用,手上好有BMP280也没用过,就看着机翻手册和原版手册,开始嘎嘎写库函数了。库的命名应该还1是比较规范了吧,就是手册对于最终值的计算方式很迷糊,所以现在也不能保证有可靠性啊,大…

2023极客大挑战web小记

拿到题目提示post传参还以为是道签到题 刚开始直接把自己极客大挑战的username以及password怼上去,但是不对。看看F12,有提示。 当一个搜索蜘蛛访问一个站点时,它会首先检查该站点根目录下是否存在robots.txt,如果存在&#xff0c…

24-1-9 bilibilic++音视频

下午两点面试,面试官迟到了一会,面试官人很好,整体面试经历很不错,但是我人太紧张了,基础知识掌握的深度不够,没有深挖, 是做音视频的底层相关的, 实习要求只要每天打卡够九个小时就…

精细微调技术在大型预训练模型优化中的应用

目录 前言1 Delta微调简介2 参数微调的有效性2.1 通用知识的激发2.2 高效的优化手段3 Delta微调的类别3.1 增量式微调3.2 指定式微调3.3 重参数化方法 4 统一不同微调方法4.1 整合多种微调方法4.2 动态调整微调策略4.3 超参数搜索和优化 结语 前言 随着大型预训练模型在自然语…

全网唯一!Matlab周杰伦专辑配色包MJay

前段时间杰伦出了新歌,第一时间听完,感觉没过瘾,便又翻出他以前的作品,想着继续回忆青春。 翻着翻着,突然发现每张专辑封面的配色都别有一番味道,似乎可以搞些事情…… 于是,我默默打开了Matl…

【博士每天一篇论文-理论分析】Dynamical systems, attractors, and neural circuits

阅读时间:2023-11-19 1 介绍 年份:2016 作者:Paul Miller 马萨诸塞州沃尔瑟姆市布兰代斯大学Volen国家复杂系统中心 期刊: F1000Research 引用量:63 这篇论文主要关注神经回路中的动力系统和吸引子。作者指出神经回路…

C# Cad2016二次开发HelloWorld(一)

1 新建类库 二 引用 acdbmgd.dll、acmgd.dll、accoremgd.dll 三 HelloWorld代码 public class Class1{/// <summary>/// 程序入口标识/// </summary>[CommandMethod("HelloWorld")]public void HelloWorld(){Document adoc Autodesk.AutoCAD.Applicatio…

数据结构实战:变位词侦测

文章目录 一、实战概述二、实战步骤&#xff08;一&#xff09;逐个比较法1、编写源程序2、代码解释说明&#xff08;1&#xff09;函数逻辑解释&#xff08;2&#xff09;主程序部分 3、运行程序&#xff0c;查看结果4、计算时间复杂度 &#xff08;二&#xff09;排序比较法1…

设计模式之访问者模式【行为型模式】

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档> 学习的最大理由是想摆脱平庸&#xff0c;早一天就多一份人生的精彩&#xff1b;迟一天就多一天平庸的困扰。各位小伙伴&#xff0c;如果您&#xff1a; 想系统/深入学习某…

What does `HandlerInterceptor` do?

HandlerInterceptor 是 SpringMVC 中的一个接口&#xff0c;在SpringMVC应用中它提供了一种实现应用级拦截器的机制。 第1步&#xff1a;引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web<…

基于SSM中小型医院管理系统的设计与实现

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;采用JSP技术开发 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#x…

【Golang】IEEE754标准二进制字符串转为浮点类型

IEEE754介绍 IEEE 754是一种标准&#xff0c;用于表示和执行浮点数运算的方法。在这个标准中&#xff0c;单精度浮点数使用32位二进制表示&#xff0c;分为三个部分&#xff1a;符号位、指数位和尾数位。 符号位(s)用一个位来表示数的正负&#xff0c;0表示正数&#xff0c;1表…

不带控制器打包exe,转pdf文件时失败的原因

加了注释的两条代码后&#xff0c;控制器会显示一个docx转pdf的进度条。这个进度条需要控制器的实现&#xff0c;如果转exe不带控制器的话&#xff0c;当点击转换为pdf的按钮就会导致程序出错和闪退。 __init__.py文件的入口

【排序算法】一、排序概念和直接插入排序(C/C++)

「前言」文章内容是排序算法之直接插入排序的讲解。&#xff08;所有文章已经分类好&#xff0c;放心食用&#xff09; 「归属专栏」排序算法 「主页链接」个人主页 「笔者」枫叶先生(fy) 目录 一、排序概念的介绍二、直接插入排序2.1 原理2.2 代码实现&#xff08;C/C&#xf…

移除两个双向链表中的重复元素,每个链表中的元素不重复

移除两个双向链表中的重复元素&#xff0c;每个链表中的元素不重复&#xff0c;请给出算法。 ans: 该问题比单向链表要更加复杂一些&#xff0c;必须考虑并更新前向节点的指向情况&#xff0c;具体编码中存在一些难度&#xff0c;加上链表调试相对不容易&#xff0c;因此难度系…

C++标准学习--decltype

decltype / auto 是具有类型推导功能的 类型 描述/占位 符 decltype: 获取对象或表达式的类型auto: 类型自动推导 decltype 可以获取变量类型&#xff0c; &#xff08;并不同于python的type&#xff0c;但python能打印出type获取的名称&#xff0c; C通过typeid实现&#xff…

HTML---JQurey的基本使用

文章目录 目录 文章目录 本章目标 一.JQuery下载安装 二.JQuery概述 JQuery的作用 JQuery的优势 JQUery示例 三.JQuery基础 语法结构 JQuery常用内置函数 总结 本章目标 &#xff08;1&#xff09;能够搭建jQuery开发环境 &#xff08;2&#xff09;使用ready( )方法加…

机器人技能学习-robosuite-0-入门介绍

文章目录 前言模块介绍实战案例1&#xff1a;从 demo 中创建自己的 env案例2&#xff1a;更换属于自己的物体 前言 资料太少、资料太少、资料太少&#xff0c;重要的事说三边&#xff0c;想根据自己实际场景自定义下机器人&#xff0c;结果发现无路可走&#xff0c;鉴于缺少参…

MathType绝对是我数学编辑的首选工具!

去年&#xff0c;微软曾说&#xff0c;要去掉Office里的公式编辑器&#xff0c;建议用户使用MathType编辑公式。目前Office用户可以到微软官网安装MathType的插件&#xff0c;现在免费使用&#xff0c;以后要收费。Word里安装这个插件以后&#xff0c;就会出现MathType的菜单。…

Kafka与RabbitMQ的区别

消息队列介绍 消息队列&#xff08;Message Queue&#xff09;是一种在分布式系统中进行异步通信的机制。它允许一个或多个生产者在发送消息时暂时将消息存储在队列中&#xff0c;然后由一个或多个消费者按顺序读取并处理这些消息。 消息队列具有以下特点&#xff1a; 异步通…