爬蟲&Selenium&ChromeDriver


一、Selenium

  1. selenium是什么

Selenium [1] 是一個用於Web應用程序測試的工具。Selenium測試直接運行在瀏覽器中,就像真正的用戶在操作一樣。支持的瀏覽器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera等。

在python爬蟲可以簡單的理解為:Selenium就是模仿人使用瀏覽器

  1. 如何下載或者是安裝selenium

    cmd進入win終端,輸入命令

    pip install selenium
    

二、ChromeDriver

  1. ChromeDrive是什么

    這個和JDBC類似,就是Selenium操作Chrome瀏覽器的驅動。同理Selenium操作Firefox瀏覽器就需要geckodriver,操作IE瀏覽器需要IEDriverServer驅動。

  2. 如何下載或者安裝ChromeDriver
    注意:ChromeDriver要和自己使用的chrome版本一致
    注意:ChromeDriver要和自己使用的chrome版本一致
    注意:ChromeDriver要和自己使用的chrome版本一致

    2.1 查詢自己chrome的版本

    ​ 地址欄輸入:

    chrome://version/
    

    比如我的是:80.0.3987.149

    2.2 下載ChromeDriver

    地址欄:

    https://npm.taobao.org/mirrors/chromedriver/
    

    這里可能有人要問,不是最后一位不一樣嗎?

    答:的卻,但是我估計只要前三位相同應該都可以的。有興趣的同學可以試一下哈

    點擊進去,下載對應的OS版本,比如我的是win電腦,我就下載第三個。

2.3 下載好之后,解壓,把chromedriver.exe放到任意位置都可以。但是有要求:

  • 路徑上不能有中文
  • 存放的路徑不需要特殊權限

這樣就可以了,接下來我們來測試一下。


三、測試

  1. 直接看代碼

    from selenium import webdriver #導入必要的庫
    #功能需求:模仿人類使用搜索框進行搜索
    # 業務分析:在搜索框中輸入“關鍵字”,點擊“百度一下”或者是“回車”
    
    #chromedriver.exe的存放路徑
    driver_path=r"C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe"
    
    # 通過webdriver對象的Chrome方法【不同的瀏覽器對應不同的方法】,獲取到chromedriver.exe
    driver = webdriver.Chrome(executable_path=driver_path)
    
    # 訪問百度
    driver.get("http://www.baidu.com")
    
    # 根據頁面的id值定位到搜索框的
    input_tag = driver.find_element_by_id("kw")
    
    #假如我們搜索“java”
    input_tag.send_keys("java")
    
    # 根據頁面id獲取到“百度一下”按鈕
    submit_btn = driver.find_element_by_id("su")
    
    #這個方法其實就是模仿人們點擊“百度一下”按鈕或者是“回車”
    submit_btn.click()
    
    
  2. 運行代碼。它會自動打開瀏覽器並自動輸入“java”,並回車。

  3. 看效果


四、為什么要用它——Selenium

答:因為有很多網站的數據都是異步請求(Ajax)加載數據的,我們直接爬取是獲取不到數據的。因此我們使用selenium爬取返回來的頁面是已經經過瀏覽器解析好的頁面,我們再通過使用Xpath、bs4等,就可以爬取自己想要的數據了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM