python selenium 怎么查找modal悬浮窗的内容_python教程:五分钟从pubmed down几万篇文献...
小編有話說(shuō):hello guys!昨天推送的stata做圖教程您學(xué)會(huì)了嗎?有任何疑問(wèn)歡迎后臺(tái)咨詢我們熱心的羅仔。今天換個(gè)口味,學(xué)學(xué)python自動(dòng)化。
作為科研小達(dá)人,不學(xué)一些旁門左道傍身怎么行!
今天我們扒一扒pubmed,如何快速下載10000篇以外的文獻(xiàn)?
今天推送一波python自動(dòng)化,目標(biāo)pubmed。平時(shí)在pubmed如果查找的內(nèi)容對(duì)應(yīng)文獻(xiàn)在一萬(wàn)篇內(nèi),可以通過(guò)pubmed對(duì)題目摘要一鍵下載。如果大于一萬(wàn)篇呢,今天介紹的是如何使用python的selenium模塊,進(jìn)行自動(dòng)下載。
先上一波視頻看效果?
通過(guò)自動(dòng)化操作,對(duì)每一個(gè)頁(yè)面文獻(xiàn)自動(dòng)下載成csv文件,后期可再通過(guò)插件方方格子或python對(duì)每一個(gè)表格進(jìn)行合成。
敲重點(diǎn)
為了完成自動(dòng)化操作,我們還需要:python、谷歌瀏覽器(Edge瀏覽器或火狐,推薦谷歌)、webdriver和selenium模塊。
?webdriver安裝:
點(diǎn)擊谷歌瀏覽器設(shè)置→關(guān)于Chrome→查看版本。
在該鏈接:
http://npm.taobao.org/mirrors/chromedriver/
根據(jù)谷歌瀏覽器版本下載對(duì)應(yīng)的webdriver,將解壓后的webdriver軟件移動(dòng)到谷歌瀏覽器的目標(biāo)文件夾即可。
selenium安裝:同時(shí)按下WIN+R,輸入cmd,在命令行輸入pip install selenium,回車
提示成功后可在vscode直接開敲代碼:
from?selenium?import?webdriverfrom?selenium.webdriver.support.ui?import?Select這是python常見的第一步操作:導(dǎo)入模塊。python有眾多模塊,也是因?yàn)槟K讓python在各個(gè)領(lǐng)域都能干點(diǎn)事。
第一行代碼是調(diào)用slenium模塊下的webdriver,這是今天的主角,在后續(xù)所有自動(dòng)化中也是必不可少的一句命令行;
第二行代碼,是因?yàn)榻袢辗莸淖詣?dòng)化過(guò)程中需要對(duì)選擇框進(jìn)行選擇,所以需要導(dǎo)入Select。
find = input('請(qǐng)輸入要查找的內(nèi)容,回車確認(rèn):')url =?'https://pubmed.ncbi.nlm.nih.gov/?term='+find+'&size=200&page=51'input()語(yǔ)句可以讓python與用戶互動(dòng),將用戶輸入的內(nèi)容賦值給“find”對(duì)象,然后將賦值過(guò)的“find”與pubmed基礎(chǔ)鏈接相互銜接,生成一個(gè)新的鏈接“url”對(duì)象。
driver?=?webdriver.Chrome()driver.get(url)driver.maximize_window()driver.implicitly_wait(10)通過(guò)webdriver.Chrome()語(yǔ)句調(diào)用了谷歌瀏覽器,并get到了一個(gè)鏈接對(duì)象url,這時(shí)候可以看到谷歌瀏覽器自動(dòng)打開了一個(gè)鏈接。再給driver對(duì)象一個(gè)微調(diào),設(shè)置為窗口保持最大化,以及隱性等待10秒。
tip:隱性等待跟強(qiáng)制等待的區(qū)別,顧名思義,強(qiáng)制等待就是只有過(guò)了等待的時(shí)間才能進(jìn)行下一個(gè)命令行。而在操作網(wǎng)頁(yè)時(shí),因?yàn)榫W(wǎng)速等原因,頁(yè)面元素沒能及時(shí)加載出來(lái);
而python在執(zhí)行上一條命令行后,準(zhǔn)備運(yùn)行下一條命令行時(shí)沒找到對(duì)應(yīng)的網(wǎng)頁(yè)元素,就會(huì)報(bào)錯(cuò)。對(duì)于這種不可抗力因素,我們可以添加一個(gè)隱性等待,設(shè)置為10秒,意思是:如果10秒內(nèi)沒找到指定的元素,繼續(xù)等;如果找到了,執(zhí)行下一個(gè)命令行;
如果過(guò)了10秒還沒找到,那就報(bào)錯(cuò)。所以小伙伴可以根據(jù)自己網(wǎng)速情況,把隱性等待調(diào)高或者調(diào)低。
for?i?in?range(51,56):for語(yǔ)句是python中常見的循環(huán)語(yǔ)句,就是在條件內(nèi)不斷循環(huán)命令行。
在這里是設(shè)置的循環(huán)條件為 i in range(51,56),意思是當(dāng) i 從51走到55時(shí)候(python的括號(hào)范圍是前閉后開,故不包含56),執(zhí)行下列命令行。
因?yàn)槲覀円詣?dòng)下載51頁(yè)及以后的文獻(xiàn)信息,所以前面是從51開始;
如果要下載的頁(yè)面總共就51-55頁(yè),后面的數(shù)字要寫成56(55+1),也就是總共執(zhí)行5次:51/52/53/54/55。
執(zhí)行五次什么操作呢?以及如果是要下載51-100頁(yè)該如何操作呢?
預(yù)知后事如何,請(qǐng)看下回分解。
創(chuàng)作部羅仔
好啦!有什么不懂的都可以后臺(tái)問(wèn)小編哦~小編看到的都會(huì)盡快回復(fù)的~下期想學(xué)什么也可以留言哦~
end
Bye bye all guys! see u next time?
1.STATA教程3:作圖
3.STATA教程1:metan的功能
2.谷ge學(xué)術(shù)訪問(wèn)
3.STATA教程2:中間變量
關(guān)注本公眾號(hào),更多資源教程免費(fèi)咨詢,做一個(gè)寵粉的公眾號(hào)!讓我們Ldq小編帶您悄悄變強(qiáng)!
點(diǎn)下【在看】給小編加雞腿總結(jié)
以上是生活随笔為你收集整理的python selenium 怎么查找modal悬浮窗的内容_python教程:五分钟从pubmed down几万篇文献...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 主攻计算机专业英语翻译,湖师大“博导”黄
- 下一篇: opython3l_python之 数据