python selenium 怎么查找modal悬浮窗的内容_python教程:五分钟从pubmed down几万篇文献...

e30c06bfc427a3735a1aea65c0cb1240.gif

小编有话说:hello guys!昨天推送的stata做图教程您学会了吗?有任何疑问欢迎后台咨询我们热心的罗仔。今天换个口味,学学python自动化。

作为科研小达人,不学一些旁门左道傍身怎么行!

今天我们扒一扒pubmed,如何快速下载10000篇以外的文献?

a75cd171a3b03663cde29377397fcf9a.gif

今天推送一波python自动化,目标pubmed。平时在pubmed如果查找的内容对应文献在一万篇内,可以通过pubmed对题目摘要一键下载。如果大于一万篇呢,今天介绍的是如何使用python的selenium模块,进行自动下载。

先上一波视频看效果 1acc7335da8eb6f411eac7376efa7cbb.png

通过自动化操作,对每一个页面文献自动下载成csv文件,后期可再通过插件方方格子或python对每一个表格进行合成。

敲重点

为了完成自动化操作,我们还需要:python、谷歌浏览器(Edge浏览器或火狐,推荐谷歌)、webdriver和selenium模块。

 webdriver安装:

点击谷歌浏览器设置→关于Chrome→查看版本。

在该链接:

http://npm.taobao.org/mirrors/chromedriver/

根据谷歌浏览器版本下载对应的webdriver,将解压后的webdriver软件移动到谷歌浏览器的目标文件夹即可。

e3a0417eecbd2d07db81144c6f88eb66.png

c218ae4be4d89854c826802798a98316.gif

c943e252cd2ae382855e15419dfef5b4.png

selenium安装:同时按下WIN+R,输入cmd,在命令行输入pip install selenium,回车

38353a6e2b6994dd64f06216436268ea.png

提示成功后可在vscode直接开敲代码:

from selenium import webdriverfrom selenium.webdriver.support.ui import Select

这是python常见的第一步操作:导入模块。python有众多模块,也是因为模块让python在各个领域都能干点事。

第一行代码是调用slenium模块下的webdriver,这是今天的主角,在后续所有自动化中也是必不可少的一句命令行;

第二行代码,是因为今日份的自动化过程中需要对选择框进行选择,所以需要导入Select。

find = input('请输入要查找的内容,回车确认:')url = 'https://pubmed.ncbi.nlm.nih.gov/?term='+find+'&size=200&page=51'

input()语句可以让python与用户互动,将用户输入的内容赋值给“find”对象,然后将赋值过的“find”与pubmed基础链接相互衔接,生成一个新的链接“url”对象。

driver = webdriver.Chrome()driver.get(url)driver.maximize_window()driver.implicitly_wait(10)

通过webdriver.Chrome()语句调用了谷歌浏览器,并get到了一个链接对象url,这时候可以看到谷歌浏览器自动打开了一个链接。再给driver对象一个微调,设置为窗口保持最大化,以及隐性等待10秒。

tip:隐性等待跟强制等待的区别,顾名思义,强制等待就是只有过了等待的时间才能进行下一个命令行。而在操作网页时,因为网速等原因,页面元素没能及时加载出来;

而python在执行上一条命令行后,准备运行下一条命令行时没找到对应的网页元素,就会报错。对于这种不可抗力因素,我们可以添加一个隐性等待,设置为10秒,意思是:如果10秒内没找到指定的元素,继续等;如果找到了,执行下一个命令行;

如果过了10秒还没找到,那就报错。所以小伙伴可以根据自己网速情况,把隐性等待调高或者调低。

for i in range(51,56):

for语句是python中常见的循环语句,就是在条件内不断循环命令行。

在这里是设置的循环条件为 i in range(51,56),意思是当 i 从51走到55时候(python的括号范围是前闭后开,故不包含56),执行下列命令行。

因为我们要自动下载51页及以后的文献信息,所以前面是从51开始;

如果要下载的页面总共就51-55页,后面的数字要写成56(55+1),也就是总共执行5次:51/52/53/54/55。

执行五次什么操作呢?以及如果是要下载51-100页该如何操作呢?

预知后事如何,请看下回分解。

创作部罗仔

好啦!有什么不懂的都可以后台问小编哦~小编看到的都会尽快回复的~下期想学什么也可以留言哦~

cfd7e254add24e3f88bc98f63638c845.png

end

Bye bye all guys! see u next time 

45a0d64d8d50c591d3a26995265ba710.gif

1.STATA教程3:作图

3.STATA教程1:metan的功能

2.谷ge学术访问

3.STATA教程2:中间变量

关注本公众号,更多资源教程免费咨询,做一个宠粉的公众号!让我们Ldq小编带您悄悄变强!

点下【在看】给小编加鸡腿

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

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

相关文章

安装git安装路径在哪_Atom插件安装与git的安装配置

一、Atom 插件在线安装1. 安装插件language-asciidoc 》语法高亮asciidoc-preview 》实时预览在dos 下通过cmd命令安装插件打开dos窗口 window可用快捷键 winr 再输入cmd安装language-asciidoc 输入 apm install language-asciidoc 如果apm不能识别请用 npm install language-…

编制一个c语言成绩记录簿_C语言基础知识点模拟试题

一、单选题(每题2分,共25题,共50分)执行以下程序后,输出结果是( )int a 255;char c;ca;printf("%d",c);A)255 B)0 C)-3 D)-1有以下程序#include void main( ){ FILE *fp; int i,k0,n0; fpfopen("d1.dat&…

闪灯什么意思_开夜车被对方闪了一下是什么意思?老司机:灯语都不懂,晚上别开车...

阅读本文前,请您先点击上面的“蓝色字体”,再点击“关注”,这样您就可以继续免费收到文章了。每天都有分享,完全是免费订阅,请放心关注。 注:本文转载自网络&#xff…

android radiogroup 获取点击位置_屏幕连点器,解放双手[Android]

这里是“微友集市”,我们坚持分享优质的资源,让更多人能用到更好的资源,少花冤枉钱。如果你有什么需要,可以给我们留言,我们会努力去为你寻找,或许你需要的,也是别人需要的...1自动点击器 是一款…

apache poi excel显示 base64 图片_数据处理之带图片Excel数据处理解惑

小编最近项目中遇到一个大批量Excel数据提取的问题,因为Excel数据中含有图片,所以在程序处理时遇到了困难,小编花了点时间才解决了这个问题,所以在这里mark一下。1 问题描述首先来描述一下数据处理的需求,如下图所以是…

mysql加锁后怎么解除_Mysql查看死锁与解除死锁的深入讲解

前言前段时间遇到了一个Mysql 死锁相关的问题,整理一下。问题描述:Mysql 的修改语句似乎都没有生效,同时使用Mysql GUI 工具编辑字段的值时会弹出异常。什么是死锁在解决Mysql 死锁的问题之前,还是先来了解一下什么是死锁。死锁是…

mysql查询工具哪个好_一个比较实用的数据库查看管理工具

个人从业四年多,和数据库打交道不计其数,特别是在之前做企业级应用系统的时候,整天就是在业务、数据和程序之间穿梭,那个数据查的呀,平均每天有40% 左右的时间都在手工的写sql进行数据的查询。刚开始,通过数…

mysql运维机制_《MySQL运维内参》节选 | InnoDB日志管理机制(一)

引 子InnoDB 存储引擎是支持事务ACID特性的,它是以二十多年前IBM的一篇著名文章《ARIES:A Transaction Recovery Method Supporting Fine-Granularity Locking and PartialRollbacks Using Write-Ahead Logging》为理论基础,大多数关系型数据库的实现都是…

数mysql据分析优化_从零开始学习数据分析-mysql架构与优化理论

mysql的逻辑分层:连接层 服务层 引擎层 存储层引擎层主要分为两类:InnoDB、MyIsam(使用show engines;查看)InnoDB是事务优先的,会进行行锁,适合高并发操作MyIsam是性能优先的,进行表锁sql优化点:等待时间长…

检验int值在list中是否存在_R语言统计与绘图:卡方检验

卡方检验在计数资料中的应用,包括推断两个总体率或构成比之间有无差别、多个总体率或构成比之间有无差别、多个样本率间的多重比较、两个分类变量之间有无关联性、多维列联表的分析和频数分布拟合优度的卡方检验。选自:周支瑞老师下面分别介绍计数资料怎…

mysql in 多个字段_MySQL如何同时自增自减多个字段

“本文将带大家聊一下如何同时自增自减多个字段”前言最近小Q同学去面试了,然后就问了题目的问题,如何同时自增自减多个字段。小Q一时回答不出来,最终的结果就是回家等通知....关于这个问题咔咔来给小Q简单的进行解答一下。一、ThinkPHP框架实…

wxpython 调用子窗口_wxpython入门第一步(简单例子)

在这部分wxPython教程中,我们将创建一些简单的例子。简单的例子​ 我们从一个非常简单的例子开始。我们的第一个脚本将只显示一个小窗口。它不会做太多事情。我们将逐行分析这个脚本。# simple.pyimport wxapp wx.App()frame wx.Frame(None, )frame.Show()app.Mai…

orderd mysql_Oracle入门教程:leading vs ordered hint

odered hint 可以指示oracle 使用from 关键字后面的表的顺序进行join连接!cbo会优先按照from 后面的表的顺序来进行join,当统计leading hint 可以指示Oracle使用leading 中指定的表作为驱动表,比如 正常的访问计划如下SCOTT> select e.ename, hiredat…

mysql标识列从一开始_mysql中标识列是什么意思有什么用

标识列是什么?标识列又称为自增长列。含义:可以不用手动的插入值,系统提供默认的序列值特点:1、标识列必须和主键搭配吗?不一定,但要求是一个key2、一个表可以有几个标识列?至多一个&#xff01…

mysql 及时点还原_mysqlbinglog基于即时点还原

mysqlbinlog介绍要想从二进制日志恢复数据,你需要知道当前二进制日志文件的路径和文件名。一般可以从选项文件(即my.cnf or my.ini,取决于你的系统)中找到路径。(mysql5.7开启binglog 时需要同时设置server-id否则无法启动)要想确定当前的二进制日志文件…

python mysql查表_python进阶(十、mysql:单表查询)

3.mysql数据库3.10 单表查询3.10.1. 简单查询查询在数据库中使用的频率是最高的:十次查询,一次增删改。1)建表2)插入数据3.10.1.1. 选择字段:selectselect 字段名1,字段名2…… from 表名 where 条件;3.10.1.2. 字段重命名(别名):…

python常见的数值运算符_第18 p,Python中各种常用的运算符,特别是增量运算符...

原标题:第18 p,Python中各种常用的运算符,特别是增量运算符大家好,我是杨数Tos,这是《从零基础到大神》系列课程的第18篇文章,第二阶段的课程:Python基础知识:Python中各种常用的运算…

python画害羞的表情_用Python把你的朋友变成表情包

一、项目说明在日常生活中,我们经常会存取一些朋友们的丑照,在这个项目中,我们以萌萌哒的熊猫头作为背景,然后试着在背景图上加入朋友们的照片。效果如下图所示:二、实现步骤导入朋友的照片(前景照片);处理…

.net md5 java 偏移量_C# java MD5加密方不一致问题

说来惭愧,做开发几年了,一直在吸取,今天也写写自已关于技术的一点点理解,不正之处,请大家多多指点。由于之前开发的项目使用的是C#,用户信息使用的C#的MD5加密码方式,而现在需要切换到Java平台下&#xff0…

java dijkstra算法代码_[转载]Java实现dijkstra算法: 地图中任意起点寻找最佳路径...

最近在复习java,下学期要用,写这个练手. 技术较粗糙,见谅.代码里用的是这幅地图,根据实际情况更改,在addNode方法中这个是运行结果,起点和终点在 运行wrap(String qidian, String zhongdian) 时定义代码&a…