最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python運(yùn)用requests模擬瀏覽器發(fā)送請(qǐng)求過(guò)程

 更新時(shí)間:2025年07月29日 11:31:58   作者:高級(jí)測(cè)試工程師歐陽(yáng)  
模擬瀏覽器請(qǐng)求可選用requests處理靜態(tài)內(nèi)容,selenium應(yīng)對(duì)動(dòng)態(tài)頁(yè)面,playwright支持高級(jí)自動(dòng)化,設(shè)置代理和超時(shí)參數(shù),根據(jù)需求選擇合適工具

使用requests庫(kù)模擬瀏覽器請(qǐng)求

requests 是一個(gè)簡(jiǎn)單易用的 HTTP 庫(kù),可以模擬瀏覽器的請(qǐng)求行為。

通常需要設(shè)置請(qǐng)求頭和 Cookies 來(lái)偽裝成瀏覽器。

import requests

url = "https://example.com"
headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36",
    "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8",
    "Accept-Language": "en-US,en;q=0.5",
}
cookies = {"session_id": "123456789"}

response = requests.get(url, headers=headers, cookies=cookies)
print(response.text)

使用selenium自動(dòng)化瀏覽器操作

selenium 可以控制真實(shí)瀏覽器(如 Chrome、Firefox)進(jìn)行自動(dòng)化操作,適合需要執(zhí)行 JavaScript 或處理動(dòng)態(tài)內(nèi)容的場(chǎng)景。

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

chrome_options = Options()
chrome_options.add_argument("--headless")  # 無(wú)頭模式
chrome_options.add_argument("--disable-gpu")
chrome_options.add_argument("user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36")

driver = webdriver.Chrome(options=chrome_options)
driver.get("https://example.com")
print(driver.page_source)
driver.quit()

使用playwright進(jìn)行高級(jí)瀏覽器模擬

playwright 是一個(gè)現(xiàn)代瀏覽器自動(dòng)化工具,支持 Chromium、Firefox 和 WebKit,提供了更強(qiáng)大的功能。

from playwright.sync_api import sync_playwright

with sync_playwright() as p:
    browser = p.chromium.launch(headless=False)  # 非無(wú)頭模式
    page = browser.new_page()
    page.goto("https://example.com")
    print(page.content())
    browser.close()

設(shè)置代理和超時(shí)

如果需要通過(guò)代理發(fā)送請(qǐng)求或控制超時(shí)時(shí)間,可以在請(qǐng)求中添加相關(guān)參數(shù)。

proxies = {
    "http": "http://10.10.1.10:3128",
    "https": "http://10.10.1.10:1080",
}
timeout = 10  # 超時(shí)時(shí)間(秒)

response = requests.get(url, headers=headers, proxies=proxies, timeout=timeout)

處理動(dòng)態(tài)加載內(nèi)容

某些網(wǎng)站通過(guò) JavaScript 動(dòng)態(tài)加載內(nèi)容,可以使用 seleniumplaywright 等待元素加載完成。

from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

driver.get("https://example.com")
element = WebDriverWait(driver, 10).until(
    EC.presence_of_element_located((By.ID, "dynamic-content"))
)
print(element.text)

模擬表單提交

如果需要提交表單數(shù)據(jù),可以使用 requests 發(fā)送 POST 請(qǐng)求。

data = {
    "username": "test",
    "password": "123456",
}
response = requests.post(url, data=data, headers=headers)
print(response.text)

通過(guò)以上方法,可以模擬瀏覽器發(fā)送請(qǐng)求并獲取響應(yīng)內(nèi)容。根據(jù)實(shí)際需求選擇合適的工具和技術(shù)方案。

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

长乐市| 南投县| 东山县| 无为县| 会理县| 武陟县| 墨竹工卡县| 大姚县| 通榆县| 巴塘县| 东方市| 威信县| 锡林郭勒盟| 平顶山市| 扶沟县| 英山县| 星座| 普格县| 阳曲县| 英山县| 江口县| 沐川县| 宜君县| 昭平县| 曲水县| 罗山县| 岗巴县| 阜宁县| 庆云县| 曲麻莱县| 自治县| 即墨市| 蚌埠市| 偏关县| 阜城县| 乌兰浩特市| 敦煌市| 石林| 淮滨县| 涞源县| 大连市|