1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        推薦一款 10 行 Python 代碼實現(xiàn)網(wǎng)頁自動化工具

        共 2281字,需瀏覽 5分鐘

         ·

        2020-08-01 19:47

        各種各樣的網(wǎng)站在我們?nèi)粘9ぷ骱蛯W(xué)習(xí)中占據(jù)著舉足輕重的地位,學(xué)習(xí)、影音娛樂、查詢資料、協(xié)同辦公,越來越多的任務(wù)都被遷移到瀏覽器

        因此,網(wǎng)頁也蘊含著很多有價值、我們能夠用得到的資源

        例如,數(shù)據(jù)、歌曲、影視、文本、圖片;所以,這幾年來爬蟲這項技術(shù)也成了很多開發(fā)人員必備的技能之一

        以 Python 爬蟲為例,比較常用的爬蟲手段是結(jié)合 Requests、正則表達(dá)式等有一定門檻的工具來完成,并且還需要對 HTML、Web 具有一定的基礎(chǔ)

        這把很多開發(fā)同學(xué)拒之門外,也讓很多初學(xué)者花費很多功夫和時間來學(xué)習(xí)爬蟲這些技能

        其實,除了上述提到那些具有一定門檻的爬蟲知識之外,有一些另辟蹊徑的同學(xué)會選擇?Selenium?這款 Web 應(yīng)用測試工具來完成爬蟲任務(wù),它能夠像真正的用戶一樣完成一系列的操作

        Selenium已經(jīng)很好用,但是,它的大多數(shù)交互還是和 Web 元素之間進(jìn)行的,需要使用到 HTML id、Xpath、CSS 選擇器,雖然自動化程度高了一些,但是還不算足夠的容易使用。

        而本文的主角Helium則是在 Selenium 的基礎(chǔ)上封裝的更加高級的 Web 自動化工具,它能夠通過網(wǎng)頁端可見的標(biāo)簽、名稱來和 Web 進(jìn)行交互,例如,

        • 點擊鍵盤按鍵
        • 右鍵點擊
        • 懸浮
        • 滾動鼠標(biāo)
        • 拖動文件
        • 刷新
        • ......

        通過Helium,即便不在了解 Html、CSS 這些知識,你依然可以輕松的完成 Web 自動化程序的開發(fā),輕松掌握爬蟲技能,同時能夠輔助日常重復(fù)性勞動,徹底解放你的雙手

        Helium

        為了方便大家理解和使用,Helium 作者把一些常用方法總結(jié)了一個清單

        另外,在 Python 文件列出了公共函數(shù),使用者可以通過閱讀這個 Python 文件的代碼來了解有哪些函數(shù)接口可以調(diào)用

        在前面 GIF 動圖中給出了 Helium 與 Github 的交互過程,其中涉及了我們常用的操作,例如,

        • 輸入賬號密碼
        • 點擊按鈕
        • 跳轉(zhuǎn)網(wǎng)頁

        在這里,我就不再重復(fù)這個過程,下面以?爬取網(wǎng)頁圖片鏈接?的例子來講解一下 Helium 的用法,同時把 Helium 的常用操作串聯(lián)起來。各位可以根據(jù)自己的需求,舉一反三,來發(fā)揮 Helium 的價值。

        首先,來了解一下我們個人在下載圖片的過程中的具體流程。

        1. 打開百度搜索;
        2. 搜索相關(guān)圖片;
        3. 跳轉(zhuǎn)到圖片頁面;
        4. 打開圖片;
        5. 點擊下載按鈕;

        下面,就通過 Helium 來逐步完成上述 5 步

        打開百度搜索

        Helium 可以直接打開對應(yīng)的網(wǎng)址,目前支持 Chrome 和火狐瀏覽器,只要用到start_chrome或者start_firefox函數(shù),下面以 Chrome 瀏覽器為例,

        from?helium?import?*
        start_chrome("www.baidu.com")

        搜索圖片&跳轉(zhuǎn)到圖片頁面

        搜索圖片過程中,首先需要在搜索框輸出想要的目標(biāo)圖片,然后點擊百度一下或者按下ENTER

        write("詹姆斯")

        click("百度一下")
        //?或者
        press(ENTER)

        click("圖片")

        打開圖片

        在前面 Helium 與 Github 交互的示例中,我們發(fā)現(xiàn),Sign in、Username?等都有標(biāo)簽名稱。

        但是,我們在這里跳轉(zhuǎn)到圖片頁面時,發(fā)現(xiàn)每幅圖片并沒有?標(biāo)簽,那么我們該怎么確定點擊哪一幅圖呢?

        好在 Helium 兼容了 Selenium 的接口,我們可以通過 Selenium 來獲取頁面的元素,然后結(jié)合 Helium 的點擊就可以實現(xiàn)打開圖片這一步驟

        //?pn1是其中一幅圖的名稱,通過名稱來獲取對應(yīng)的元素,然后調(diào)用Helium的click函數(shù)點擊圖片
        img?=?driver.find_element_by_name("pn1")?
        click(img)

        點擊下載按鈕

        最后一步就是點擊下載按鈕,這一步和上一步類似,我們先通過 Selenium 的接口來獲取 Web 元素,然后點擊即可

        download?=?driver.find_element_by_class_name("btn-download")
        click(download)

        到這里,就完成了整個自動化爬取圖片的過程,完成代碼如下,

        from?helium?import?*
        start_chrome("www.baidu.com")
        write("詹姆斯")
        press(ENTER)
        click("圖片")
        img?=?driver.find_element_by_name("pn1")?
        click(img)
        download?=?driver.find_element_by_class_name("btn-download")
        click(download)

        可以看出,整條爬取圖片的代碼僅僅需要?10 行代碼,和人為手動操作步驟一樣,非常簡單。

        除了下載圖片這項簡單的任務(wù),我們也可以利用它開發(fā)一款自動化的工具,例如文件的上傳、編輯、下載影視音樂、B站視頻等,可以舉一反三。

        如何查詢指定元素名稱?

        在前面事例中,涉及到pn1、btn-download這 2 個 HTML 層面的內(nèi)容,分別是元素名稱和元素類別名稱,那么,這是怎么獲取的呢?

        其實,非常簡單,我們只需要鼠標(biāo)右鍵點擊對應(yīng)按鈕,然后選擇?檢查?即可

        好了,以上就是利用 Helium 實現(xiàn)網(wǎng)頁自動化的常規(guī)操作,大家也來試試吧。

        瀏覽 87
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        評論
        圖片
        表情
        推薦
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            国产福利久久 | 国产毛片a高清日本在线 | 欧美老妇性色XXⅩXXA片 | 男人亲女人下面视频 | 男女免费视频 | 军人露gay裸体洗澡2023 | 日韩电影一区二区三区三线免费观看 | 男女叉叉叉视频 | 囯产精品久久久久久久久久一起c | 丰满人妻一区二区三区性色 |