欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

Python中pubmed的作用是什么

Python中pubmed的作用是什么,針對這個(gè)問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡單易行的方法。

南關(guān)網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)公司等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營維護(hù)。創(chuàng)新互聯(lián)2013年開創(chuàng)至今到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。

導(dǎo)入安裝包

第一步當(dāng)然是導(dǎo)包了。自動(dòng)化需要的包小伙伴還記得嗎,就是selenium,具體如下:

from selenium import webdriver   
from selenium.webdriver.support.ui import Select
from selenium.webdriver.common.action_chains import ActionChains

① 代碼講解

代碼1: 調(diào)用selenium包中的webdriver模塊,相信小伙伴都已經(jīng)安裝了webdriver軟件在谷歌瀏覽器安裝目錄了吧,這個(gè)模塊將會(huì)啟用webdriver軟件進(jìn)而實(shí)現(xiàn)谷歌瀏覽器自動(dòng)化操作;

代碼2: 調(diào)用Select模塊,當(dāng)頁面需要對單選框、復(fù)選框、下拉框進(jìn)行操作時(shí),就要調(diào)用這個(gè)模塊,因?yàn)樵诮酉聛聿僮魑覀冃枰贔ormat中選擇CSV格式(如圖),所以可以提前導(dǎo)入這個(gè)模塊;

代碼3: ActionChains模塊是真實(shí)模擬鍵鼠操作,如鼠標(biāo)懸停、雙擊、右擊等操作,可以說是selenium中的萬能利器。

Python中pubmed的作用是什么

PS:如有需要Python學(xué)習(xí)資料的小伙伴可以加下方的群去找免費(fèi)管理員領(lǐng)取

Python中pubmed的作用是什么

設(shè)置參數(shù)

進(jìn)入準(zhǔn)備階段了,對一些參數(shù)提前設(shè)置,方便第三步的正式操作

find = input('請輸入要查找的內(nèi)容,回車確認(rèn):')
url = 'https://pubmed.ncbi.nlm.nih.gov/?term='+find+'&size=200&page=51'
driver = webdriver.Chrome()driver.get(url)driver.maximize_window()driver.implicitly_wait(10)

①代碼講解

代碼1: 是通過input函數(shù)實(shí)現(xiàn)人機(jī)交互,將我們需要查找的內(nèi)容賦值給一個(gè)叫“find”的變量(小伙伴可以自定義變量,如果修改的話在代碼2中也要記得修改成新的變量名)。

單獨(dú)運(yùn)行這句代碼,python會(huì)出現(xiàn)如下界面:可以看到,input()中的內(nèi)容會(huì)出現(xiàn)在終端,起到提示作用,小伙伴可以自定義內(nèi)容;在綠色框中輸入內(nèi)容,會(huì)賦值給“find”這個(gè)變量。

在這里小編以“T2DM”為例,輸入“T2DM”回車,這時(shí)候“find”就等于“T2DM”,然后就可以通過代碼2賦值為“url”變量,這就是接下來我們要自動(dòng)化頁面的鏈接了。

Python自動(dòng)化:pubmed簡介

注意事項(xiàng)

如果有小伙伴覺得沒必要人機(jī)交互,也可以直接賦值,依然以”T2DM“為例,如下:效果是一樣的。

注意:在python中除了文本輸入,其余符號(hào)均為英文符號(hào)。在這里的引號(hào)應(yīng)為" "而不是“ ”。

find = "T2DM"
url = 'https://pubmed.ncbi.nlm.nih.gov/?term='+find+'&size=200&page=51'

② 代碼講解

代碼1代碼2: 我們就能獲取對應(yīng)的鏈接地址,接下來可以通過調(diào)用瀏覽器來訪問該頁面了。

代碼3: 通過webdriver模塊調(diào)用Chrome瀏覽器(相信小伙伴通過之前教程已經(jīng)把webdriver軟件安裝在谷歌瀏覽器的安裝目錄了),然后通過代碼4讓谷歌瀏覽器訪問剛才的鏈接地址。當(dāng)運(yùn)行到代碼4時(shí),可以看到python自動(dòng)打開了如下界面:

Python中pubmed的作用是什么

③代碼講解

對于打開的頁面,我們可以進(jìn)一步優(yōu)化設(shè)置。通過代碼5,將窗口最大化,然后設(shè)置隱性等待為10s。(不記得顯性等待和隱性等待區(qū)別的小伙伴可以參照上一篇python教程)

自動(dòng)化流程

在開始前要曉得一個(gè)概念:

① python是根據(jù)我們設(shè)置好的邏輯進(jìn)行自動(dòng)化操作,所以我們不是直接跟python說“去把這些文獻(xiàn)下載了”,這不是python所能理解的邏輯;而是跟python說,“你先點(diǎn)這里,然后點(diǎn)這里,選這個(gè),然后點(diǎn)這里,等一下,然后再點(diǎn)這里”,也就是說,如果我們要讓python實(shí)現(xiàn)自動(dòng)化,就要將我們要做的事拆分給python聽。

So, 先手動(dòng)操作→記錄每個(gè)操作→轉(zhuǎn)換成代碼,然后修飾一下就是python語言了。這時(shí)候打開剛才的pubmed界面,可以進(jìn)行批量下載的操作是很多種的,小編只是舉一個(gè)例子,但實(shí)質(zhì)是一樣的,小伙伴們可以舉一反三。

② 手動(dòng)操作。單擊Save→單擊Format→選擇CSV→Creat file,這時(shí)候就可以整頁保存了。

Python中pubmed的作用是什么

③ 轉(zhuǎn)換成代碼。通過3.2的步驟,我們可以跟python說“先點(diǎn)這個(gè)再點(diǎn)這個(gè)再點(diǎn)這個(gè)”了,但怎么轉(zhuǎn)換成代碼,小伙伴們記住一句代碼

 ActionChains(driver).move_to_element(driver.find_element_by_xpath('xpath_content')).click().perform()

記住這句代碼幾乎可以在后續(xù)的自動(dòng)化中橫著走,這句代碼有點(diǎn)長,拆分一下:

ActionChains(driver)
move_to_element( A )
driver.find_element_by_xpath( 'B' )
click()
perform()

代碼講解:

代碼1: 調(diào)用ActionChains來操作driver,怎么操作?看代碼2;

代碼2: 將鼠標(biāo)移動(dòng)到A這個(gè)元素,A這個(gè)元素是啥?看代碼3;

代碼3: 通過driver來找一個(gè)“B”的xpath,找回的結(jié)果就是A。

代碼4:鼠標(biāo)單擊;

代碼5:將上述操作依次進(jìn)行。


用另一個(gè)方式解讀,就是尋找一個(gè)叫“B”的xpath,然后鼠標(biāo)移動(dòng)到這個(gè)xpath并單擊,這樣就模擬了真實(shí)鼠標(biāo)的移動(dòng)單擊操作了。

貼上小編寫的代碼

for i in range(51,56):
    driver.implicitly_wait(10)
    ActionChains(driver).move_to_element(driver.find_element_by_xpath('//*[@id="save-results-panel-trigger"]')).click().perform()
    Select(driver.find_element_by_xpath('//*[@id="save-action-selection"]')).select_by_visible_text("All results on this page")
    ActionChains(driver).move_to_element(driver.find_element_by_xpath('//*[@id="save-action-format"]')).click().perform()
    Select(driver.find_element_by_xpath('/html/body/main/div[1]/div/form/div[2]/select')).select_by_visible_text("CSV")
    ActionChains(driver).move_to_element(driver.find_element_by_xpath('//*[@id="save-action-panel-form"]/div[3]/button[1]')).click().perform()
    target =driver.find_element_by_xpath('//*[@id="search-results"]/section/div[3]/a/span')
    driver.execute_script("arguments[0].();", target)
    ActionChains(driver).move_to_element(driver.find_element_by_xpath('//*[@id="search-results"]/section/div[3]/a/span')).click().perform()
    ActionChains(driver).move_to_element(driver.find_element_by_xpath('//*[@id="search-page"]/div[12]/div/form/button')).click().perform()
    print('第'+str(i)+'頁下載成功')
    print('跳轉(zhuǎn)第'+str(i+1)+'頁面中')
driver.quit()print('全部下載完畢,自動(dòng)退出。')

可以看到,這句代碼出現(xiàn)了最多次,且每次出現(xiàn)只是修改了xpath的內(nèi)容,也就是說,這句重點(diǎn)代碼的重點(diǎn)內(nèi)容在于怎么找這個(gè)xpath,其余的只要copy就行了。

find = input('請輸入要查找的內(nèi)容,回車確認(rèn):')
url = 'https://pubmed.ncbi.nlm.nih.gov/?term='+find+'&size=200&page=51'
from selenium import webdriverfrom selenium.webdriver.support.ui import Selectfrom selenium.webdriver.common.action_chains import ActionChainsdriver = webdriver.Chrome()driver.get(url)driver.maximize_window()driver.implicitly_wait(10)
for i in range(51,56):
    driver.implicitly_wait(10)
    ActionChains(driver).move_to_element(driver.find_element_by_xpath('//*[@id="save-results-panel-trigger"]')).click().perform()
    Select(driver.find_element_by_xpath('//*[@id="save-action-selection"]')).select_by_visible_text("All results on this page")
    ActionChains(driver).move_to_element(driver.find_element_by_xpath('//*[@id="save-action-format"]')).click().perform()
    Select(driver.find_element_by_xpath('/html/body/main/div[1]/div/form/div[2]/select')).select_by_visible_text("CSV")
    ActionChains(driver).move_to_element(driver.find_element_by_xpath('//*[@id="save-action-panel-form"]/div[3]/button[1]')).click().perform()
    target =driver.find_element_by_xpath('//*[@id="search-results"]/section/div[3]/a/span')
    driver.execute_script("arguments[0].();", target)
    ActionChains(driver).move_to_element(driver.find_element_by_xpath('//*[@id="search-results"]/section/div[3]/a/span')).click().perform()
    ActionChains(driver).move_to_element(driver.find_element_by_xpath('//*[@id="search-page"]/div[12]/div/form/button')).click().perform()
    print('第'+str(i)+'頁下載成功')
    print('跳轉(zhuǎn)第'+str(i+1)+'頁面中')
driver.quit()print('全部下載完畢,自動(dòng)退出。')

關(guān)于Python中pubmed的作用是什么問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識(shí)。

新聞標(biāo)題:Python中pubmed的作用是什么
文章位置:http://www.chinadenli.net/article44/iieehe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站網(wǎng)站營銷網(wǎng)站設(shè)計(jì)品牌網(wǎng)站設(shè)計(jì)微信公眾號(hào)外貿(mào)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)