Python 使用selenium+webdriver爬取動態網頁內容


在使用requests請求一個頁面上的元素時,有時會出現請求不到結果的情況

審查元素時可以看到的標簽,在頁面源代碼中卻看不到

原因是我們想要的元素是經過js事件動態生成的

一般有兩種方式可以拿到我們想要的內容

一、使用selenium模擬瀏覽器

二、分析網頁請求

這里介紹第一種方法

首先安裝selenium庫

命令提示符輸入:

pip install selenium

下載,配置webdriver(以chromdriver為例)

  1、查看瀏覽器的版本

  2、下載chromedriver

    地址:http://npm.taobao.org/mirrors/chromedriver/

    下載瀏覽器對應版本

 

   下載對應系統對應版本(windows64位下載win32版本即可)

 

 

 

  3、配置chromedriver

  將下載的文件解壓至chrome瀏覽器的安裝路徑下

 

 

 

  配置環境變量

  路徑為文件解壓路徑

  

 

 

   

  4、使用selenium庫請求訪問網站就可以使用解析庫來拿到我們想要的信息了

例如,我們想要這個標題信息,右鍵審查元素查看代碼

 

from selenium import webdriver from bs4 import BeautifulSoup url = 'https://www.udemy.com/course/network-security-course/'
#模擬瀏覽器請求網站
driver = webdriver.Chrome() res = driver.get(url) doc = BeautifulSoup(driver.page_source, 'html.parser') course = doc.find('h1', class_='clp-lead__title').get_text().replace('\n','') print(course) #關閉瀏覽器
driver.quit()

  結果:

 

 

  

 

 


免責聲明!

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



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