Python知識分享網 - 專業(yè)的Python學習網站 學Python,上Python222
Python selenium模塊簡介
匿名網友發(fā)布于:2023-10-29 20:55:25
(侵權舉報)

2024 一天掌握python爬蟲【基礎篇】 涵蓋 requests、beautifulsoup、selenium

https://www.bilibili.com/video/BV1Ju4y1Y7k6/

 

有些網站的數據是js動態(tài)渲染的,我們無法通過網頁源碼直接找到數據,只能通過找接口方式來獲取數據,但是很多時候,數據又是json格式的,給我們爬數據增加成本。

比如 https://www.csdn.net/ 這個網站 就是js動態(tài)渲染的首頁數據。

這時候,使用selenium,我們可以通過模擬真實瀏覽器的用戶操作行為,來獲取js動態(tài)渲染后的網頁數據,在進行解析網頁,獲取我們需要的數據。能大大提高我們的抓取效率。

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

我們使用Selenium,模擬瀏覽器功能,自動執(zhí)行網頁中的js代碼,實現動態(tài)加載,然后再進行數據抓取。

測試代碼:

import requests

url = "https://www.csdn.net/"

headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36'
}

r = requests.get(url=url, headers=headers)

# 設置返回對象的編碼
r.encoding = "utf-8"

print(r.text)

運行發(fā)現,返回結果里面找不到我們需要的資訊數據。

轉載自: