乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      python爬蟲09 | 上來,自己動 !這就是 selenium 的牛逼之處

       小帥b 2021-10-12

      作為一個男人

      在最高光的時刻

      就是說出那句

      之后

      還不會被人打

      ...

      雖然在現實生活中你無法這樣

      但是在這里

      就讓你體驗一番

      那種呼風喚雨的感覺

      我們之前在爬取某些網站的時候

      使用到了一些 python 的請求庫

      模擬瀏覽器的請求

      我們需要抓包啥的

      能不能不這樣

      可不可以就寫幾行代碼

      讓它自己去打開瀏覽器

      自己去請求我們要爬取的網站

      自己去模擬我們的一些搜索

      等等

      反正就是

      老子躺著,讓它自己動

      躺好

      讓 selenium 滿足你的要求

      怎么玩呢?

      那么接下里就是

      學習 python 的正確姿勢

      什么是 selenium ?

      其實它就是一個自動化測試工具,支持各種主流的瀏覽器

      直到遇到了 python

      轉身一變

      selenium 變成了爬蟲利器

      我們先來安裝一下

      pip install selenium

      接著我們還要下載瀏覽器驅動

      小帥b用的是 Chrome 瀏覽器

      所以下載的是 Chrome 驅動

      當然你用別的瀏覽器也闊以

      去相應的地方下載就行了

      Chrome:https://sites.google.com/a/chromium.org/chromedriver/downloads
      Edge:https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/
      Firefox:https://github.com/mozilla/geckodriver/releases
      Safari:https:///blog/6900/webdriver-support-in-safari-10/

      下載完之后

      要配置一下環(huán)境變量

      接著打開 pycharm

      擼點代碼

      from selenium import webdriver

      driver = webdriver.Chrome()
      driver.get("https://www.baidu.com")

      input = driver.find_element_by_css_selector('#kw')
      input.send_keys("蒼老師照片")

      button = driver.find_element_by_css_selector('#su')
      button.click()

      運行一下

      可以看到

      它自己打開了 Chrome 瀏覽器

      訪問了百度

      搜索了蒼老師的照片

      這就是 selenium 的魅力

      我們來看下我們剛剛寫的代碼

      我們導入了 web 驅動模塊

      from selenium import webdriver

      接著我們創(chuàng)建了一個 Chrome 驅動

      driver = webdriver.Chrome()

      有了實例之后

      相當于我們有了 Chrome 瀏覽器了

      接著使用 get 方法打開百度

      driver.get("https://www.baidu.com")

      打開百度之后

      我們獲取到輸入框

      至于怎么獲取

      等等會講

      獲取到輸入框之后我們就往里面寫入我們要搜索的內容

      input = driver.find_element_by_css_selector('#kw')
      input.send_keys("蒼老師照片")

      輸入完了之后呢

      我們就獲取到搜索這個按鈕

      然后點擊

      button = driver.find_element_by_css_selector('#su')
      button.click()

      就這樣完成了一次自動的百度搜索

      當我們使用驅動打開了一個頁面

      這時候其實沒什么鳥用

      因為我們要對那些元素進行操作

      就像剛剛我們要獲取輸入框然后輸入一些內容

      還有獲取按鈕點擊什么的

      selenium 提供了挺多方法給我們獲取的

      當我們要在頁面中獲取一個元素的時候

      可以使用這些方法

      • find_element_by_id

      • find_element_by_name

      • find_element_by_xpath

      • find_element_by_link_text

      • find_element_by_partial_link_text

      • find_element_by_tag_name

      • find_element_by_class_name

      • find_element_by_css_selector

      想要在頁面獲取多個元素呢

      就可以這樣

      • find_elements_by_name

      • find_elements_by_xpath

      • find_elements_by_link_text

      • find_elements_by_partial_link_text

      • find_elements_by_tag_name

      • find_elements_by_class_name

      • find_elements_by_css_selector

      比如我們打開了一個頁面

      是這樣的 HTML

      <html>
      <body>
       <form id="loginForm">
        <input name="username" type="text" />
        <input name="password" type="password" />
        <input class="login" name="continue" type="submit" value="Login" />
       </form>
      </body>
      <html>

      可以通過 id 獲取 form 表單

      login_form = driver.find_element_by_id('loginForm')

      通過 name 獲取相應的輸入框

      username = driver.find_element_by_name('username')
      password = driver.find_element_by_name('password')

      通過 xpath 獲取表單

      login_form = driver.find_element_by_xpath("/html/body/form[1]")
      login_form = driver.find_element_by_xpath("http://form[1]")
      login_form = driver.find_element_by_xpath("http://form[@id='loginForm']")

      通過標簽獲取相應的輸入框

      input1 = driver.find_element_by_tag_name('input')

      通過 class 獲取相應的元素

      login = driver.find_element_by_class_name('login')

      用 Chrome 瀏覽器的審核元素

      可以很方便獲取相應的屬性

      直接 copy 就完事了

      如果你覺得

      find_element_by_xxx_xxx

      太長了

      那么你還可以這樣

      driver.find_elements(By.ID, 'xxx')

      By.屬性和上面的是一樣的

      ID = "id"
      XPATH = "xpath"
      LINK_TEXT = "link text"
      PARTIAL_LINK_TEXT = "partial link text"
      NAME = "name"
      TAG_NAME = "tag name"
      CLASS_NAME = "class name"
      CSS_SELECTOR = "css selector"

      當然

      我們玩的是爬蟲

      要的就是源代碼

      我們已經知道

      通過

      driver = webdriver.Chrome()

      可以拿到瀏覽器對象

      那么要獲取源代碼還不簡單么?

      獲取請求鏈接

      driver.current_url

      獲取 cookies

      driver.get_cookies()

      獲取源代碼

      driver.page_source

      獲取文本的值

      input.text

      ok

      以上就是 selenium 的常用方法

      想要了解更多相關 selenium 的可以到官方文檔查看

      https://selenium-python./

      下一次

      小帥b將帶你使用它來爬取網站

      本篇完

      再見

      近期文章

      python爬蟲08 | 你的第二個爬蟲,要過年了,爬取豆瓣最受歡迎的250部電影慢慢看

      python爬蟲07 | 有了 BeautifulSoup ,媽媽再也不用擔心我的正則表達式了

      python爬蟲06 | 你的第一個爬蟲,爬取當當網 Top 500 本五星好評書籍

      掃一掃

      學習 Python 沒煩惱

      堅持原創(chuàng)

      給小帥b來個好看

        轉藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約