python selenium 怎么查找modal悬浮窗的内容_python教程:五分钟从pubmed down几万篇文献...
小编有话说: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几万篇文献...相关推荐
- python selenium自动化面试_18年selenium3+python3+unittest自动化测试教程(上)
第一章 自动化测试课程介绍和课程大纲 1.自动化测试课程介绍 简介:讲解什么是自动化测试和课程大纲讲解,课程需要的基础和学后的水平 python3.7+selenium3 pycharm 第二章自动化 ...
- python selenium 爬取js加载的内容为空,Python爬虫使用Selenium+PhantomJS抓取Ajax和动态HTML内容...
1,引言 在Python网络爬虫内容提取器一文我们详细讲解了核心部件:可插拔的内容提取器类gsExtractor.本文记录了确定gsExtractor的技术路线过程中所做的编程实验.这是第二部分,第一 ...
- python selenium 获取同一元素的多个属性_python+selenium如何获取元素中并列的属性值?...
获取标签内容 使用element.attribute()方法获取dom元素的内容,如: dr = driver.find_element_by_id('tooltip') dr.get_attribu ...
- python用代码表示5与2的整除_Python教程5:Python 2.x和Python 3.x的区别有哪些?
Python 3.x不兼容Python 2.x,但这两个系列在语法层面的差别不大,Python 3.x移除了部分混淆的表达方式,在语句输出.编码.运算和异常等方面做出了一些调整,但大体语法与Pytho ...
- python中print又可将数据写入文件_Python第五课-将写入文件的列表格式化
1.上节课代码中的问题 第四课中介绍了python持久化的基础实例--将数据写入文本文件. 可当我们试着把保存数据的文件读取出来会怎样呢? try: with open('man.txt', 'r') ...
- 以下构成python循环结构的方法中正确的是_python教程:python循环结构
PyQt5是基于Digia公司强大的图形程式框架Qt5的python接口,由一组python模块构成.PyQt5本身拥有超过620个类和6000函数及方法.在可以运行于多个平台. PyQt5拥有双重协 ...
- python遍历读取文件夹下所有文件内容_python遍历文件夹下所有文件
python遍历文件夹下所有文件的方法:首先打开相应的代码文件:然后通过"for f in files:print(os.path.join(root, f))"方式遍历所有的文件 ...
- android浮标权限管理,Android辅助权限与悬浮窗
Android辅助权限与悬浮窗在执行自动化服务的流程中,我们其实并不希望被用户的操作中断流程,所以有什么方法在用户点击自动化操作的过程中,避免用户再次操作呢?那就是开启一个全局透明的悬浮窗,进行屏蔽触 ...
- Flutter 实现安卓原生系统级悬浮窗
Flutter实现安卓原生系统级悬浮窗 原创:@As.Kai 博客地址:https://blog.csdn.net/qq_42362997 如果以下内容对您有帮助,点赞点赞点赞~ 最近碰到了一个需求 ...
最新文章
- 音频数据建模全流程代码示例:通过讲话人的声音进行年龄预测
- apache属于什么类型的软件
- 各类电脑高效率神器使用及下载地址
- python无法选择安装位置图_python怎么安装?(教程图解)
- JS中undefined和null的区别,以及出现原因
- Nginx源码分析-启动初始化过程(一)
- 桂林理工大学 2020秋程序设计实践课程 课程设计与实习报告
- 扩展欧几里得算法(Python)
- Android音视频——H265编码核心技术解析
- Java常见工具安装及环境配置
- 网卡能通过usb接口与计算机连接吗,usb网卡怎么使用 usb网卡使用方法【图文】...
- c语言平时作业完成的评价,C语言作业评价标准 - osc_fmg49rzg的个人空间 - OSCHINA - 中文开源技术交流社区...
- kettle转换中使用javascript例子整理(2)
- MacOS-Homebrew
- judgement_mna_2016
- MTK hall霍尔传感器
- 艾司博讯:拼多多企业店铺和个人店的区别在哪里?
- 解决reportmachine导出pdf有蓝色底色问题
- 进程一般具有哪三个主要状态?举例说明状态转换的原因
- 揭开均线系统的神秘面纱_在应用程式审查API中揭开新玩法的神秘面纱
热门文章
- python 控制手机摄像头_python+open cv调用手机摄像头,保存文件
- c++实现插入和冒泡排序
- 华为数据通信产品VRP操作系统的使用
- e300氛围灯哪里调节_让快乐来得更简单!体验新宝骏E300/E300 PLUS
- java 反射创建对象并赋值_java使用反射创建并操作对象的方法
- 华为二层创建vlan_二层交换机不同VLAN实现互通 (华为)
- 如何访问静态成员php,php – 如何访问类的静态成员?
- 猎豹浏览器截图在哪 猎豹浏览器如何截图
- Win7旗舰版禁止修改文件属性的设置方法
- SpringBoot整合阿里云OSS上传文件