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

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

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

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

先上一波视频看效果 

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

敲重点

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

webdriver安装:

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

在该链接:

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

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

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

提示成功后可在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页该如何操作呢?

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

创作部罗仔

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

end

Bye bye all guys! see u next time

1.STATA教程3:作图

3.STATA教程1:metan的功能

2.谷ge学术访问

3.STATA教程2:中间变量

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

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

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

  1. python selenium自动化面试_18年selenium3+python3+unittest自动化测试教程(上)

    第一章 自动化测试课程介绍和课程大纲 1.自动化测试课程介绍 简介:讲解什么是自动化测试和课程大纲讲解,课程需要的基础和学后的水平 python3.7+selenium3 pycharm 第二章自动化 ...

  2. python selenium 爬取js加载的内容为空,Python爬虫使用Selenium+PhantomJS抓取Ajax和动态HTML内容...

    1,引言 在Python网络爬虫内容提取器一文我们详细讲解了核心部件:可插拔的内容提取器类gsExtractor.本文记录了确定gsExtractor的技术路线过程中所做的编程实验.这是第二部分,第一 ...

  3. python selenium 获取同一元素的多个属性_python+selenium如何获取元素中并列的属性值?...

    获取标签内容 使用element.attribute()方法获取dom元素的内容,如: dr = driver.find_element_by_id('tooltip') dr.get_attribu ...

  4. python用代码表示5与2的整除_Python教程5:Python 2.x和Python 3.x的区别有哪些?

    Python 3.x不兼容Python 2.x,但这两个系列在语法层面的差别不大,Python 3.x移除了部分混淆的表达方式,在语句输出.编码.运算和异常等方面做出了一些调整,但大体语法与Pytho ...

  5. python中print又可将数据写入文件_Python第五课-将写入文件的列表格式化

    1.上节课代码中的问题 第四课中介绍了python持久化的基础实例--将数据写入文本文件. 可当我们试着把保存数据的文件读取出来会怎样呢? try: with open('man.txt', 'r') ...

  6. 以下构成python循环结构的方法中正确的是_python教程:python循环结构

    PyQt5是基于Digia公司强大的图形程式框架Qt5的python接口,由一组python模块构成.PyQt5本身拥有超过620个类和6000函数及方法.在可以运行于多个平台. PyQt5拥有双重协 ...

  7. python遍历读取文件夹下所有文件内容_python遍历文件夹下所有文件

    python遍历文件夹下所有文件的方法:首先打开相应的代码文件:然后通过"for f in files:print(os.path.join(root, f))"方式遍历所有的文件 ...

  8. android浮标权限管理,Android辅助权限与悬浮窗

    Android辅助权限与悬浮窗在执行自动化服务的流程中,我们其实并不希望被用户的操作中断流程,所以有什么方法在用户点击自动化操作的过程中,避免用户再次操作呢?那就是开启一个全局透明的悬浮窗,进行屏蔽触 ...

  9. Flutter 实现安卓原生系统级悬浮窗

    Flutter实现安卓原生系统级悬浮窗 原创:@As.Kai 博客地址:https://blog.csdn.net/qq_42362997 如果以下内容对您有帮助,点赞点赞点赞~ 最近碰到了一个需求 ...

最新文章

  1. 音频数据建模全流程代码示例:通过讲话人的声音进行年龄预测
  2. apache属于什么类型的软件
  3. 各类电脑高效率神器使用及下载地址
  4. python无法选择安装位置图_python怎么安装?(教程图解)
  5. JS中undefined和null的区别,以及出现原因
  6. Nginx源码分析-启动初始化过程(一)
  7. 桂林理工大学 2020秋程序设计实践课程 课程设计与实习报告
  8. 扩展欧几里得算法(Python)
  9. Android音视频——H265编码核心技术解析
  10. Java常见工具安装及环境配置
  11. 网卡能通过usb接口与计算机连接吗,usb网卡怎么使用 usb网卡使用方法【图文】...
  12. c语言平时作业完成的评价,C语言作业评价标准 - osc_fmg49rzg的个人空间 - OSCHINA - 中文开源技术交流社区...
  13. kettle转换中使用javascript例子整理(2)
  14. MacOS-Homebrew
  15. judgement_mna_2016
  16. MTK hall霍尔传感器
  17. 艾司博讯:拼多多企业店铺和个人店的区别在哪里?
  18. 解决reportmachine导出pdf有蓝色底色问题
  19. 进程一般具有哪三个主要状态?举例说明状态转换的原因
  20. 揭开均线系统的神秘面纱_在应用程式审查API中揭开新玩法的神秘面纱

热门文章

  1. python 控制手机摄像头_python+open cv调用手机摄像头,保存文件
  2. c++实现插入和冒泡排序
  3. 华为数据通信产品VRP操作系统的使用
  4. e300氛围灯哪里调节_让快乐来得更简单!体验新宝骏E300/E300 PLUS
  5. java 反射创建对象并赋值_java使用反射创建并操作对象的方法
  6. 华为二层创建vlan_二层交换机不同VLAN实现互通 (华为)
  7. 如何访问静态成员php,php – 如何访问类的静态成员?
  8. 猎豹浏览器截图在哪 猎豹浏览器如何截图
  9. Win7旗舰版禁止修改文件属性的设置方法
  10. SpringBoot整合阿里云OSS上传文件