Python知識分享網(wǎng) - 專業(yè)的Python學(xué)習(xí)網(wǎng)站 學(xué)Python,上Python222
Python selenium模塊簡介
匿名網(wǎng)友發(fā)布于:2023-10-29 20:55:25
(侵權(quán)舉報(bào))

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

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

 

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

比如 https://www.csdn.net/ 這個(gè)網(wǎng)站 就是js動(dòng)態(tài)渲染的首頁數(shù)據(jù)。

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

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

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

測試代碼:

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)

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

print(r.text)

運(yùn)行發(fā)現(xiàn),返回結(jié)果里面找不到我們需要的資訊數(shù)據(jù)。

轉(zhuǎn)載自: