欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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)文章

  • python 移除字符串尾部的數(shù)字方法

    python 移除字符串尾部的數(shù)字方法

    今天小編就為大家分享一篇python 移除字符串尾部的數(shù)字方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-07-07
  • 詳解Python中的循環(huán)語(yǔ)句的用法

    詳解Python中的循環(huán)語(yǔ)句的用法

    這篇文章主要介紹了詳解Python中的循環(huán)語(yǔ)句的用法,循環(huán)語(yǔ)句是學(xué)習(xí)各個(gè)編程語(yǔ)言的最基本的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-04-04
  • python為Django項(xiàng)目上的每個(gè)應(yīng)用程序創(chuàng)建不同的自定義404頁(yè)面(最佳答案)

    python為Django項(xiàng)目上的每個(gè)應(yīng)用程序創(chuàng)建不同的自定義404頁(yè)面(最佳答案)

    這篇文章主要介紹了python為Django項(xiàng)目上的每個(gè)應(yīng)用程序創(chuàng)建不同的自定義404頁(yè)面,本文給出了最佳答案,大家可以跟隨小編一起學(xué)習(xí)下
    2020-03-03
  • python 字典(dict)按鍵和值排序

    python 字典(dict)按鍵和值排序

    下面小編就為大家?guī)?lái)一篇python 字典(dict)按鍵和值排序。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-06-06
  • python+unittest+requests實(shí)現(xiàn)接口自動(dòng)化的方法

    python+unittest+requests實(shí)現(xiàn)接口自動(dòng)化的方法

    這篇文章主要介紹了python+unittest+requests實(shí)現(xiàn)接口自動(dòng)化的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-11-11
  • python獲取Pandas列名的幾種方法

    python獲取Pandas列名的幾種方法

    這篇文章主要介紹了python獲取Pandas列名的幾種方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • Python遞歸函數(shù)特點(diǎn)及原理解析

    Python遞歸函數(shù)特點(diǎn)及原理解析

    這篇文章主要介紹了Python遞歸函數(shù)特點(diǎn)及原理解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03
  • 使用Python自動(dòng)備份重要文件

    使用Python自動(dòng)備份重要文件

    在數(shù)字化時(shí)代,數(shù)據(jù)是非常寶貴的資源,從個(gè)人照片和文檔到重要的工作文件,我們的數(shù)字資產(chǎn)對(duì)我們來(lái)說(shuō)越來(lái)越重要,下面我們就來(lái)看看如何使用Python實(shí)現(xiàn)自動(dòng)備份重要文件吧
    2024-11-11
  • python 字典d[k]中key不存在的解決方案

    python 字典d[k]中key不存在的解決方案

    本文主要介紹了在Python中處理字典鍵不存在時(shí)獲取默認(rèn)值的兩種方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2025-01-01
  • centos6.4下python3.6.1安裝教程

    centos6.4下python3.6.1安裝教程

    這篇文章主要為大家詳細(xì)介紹了centos6.4下python3.6.1的安裝教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-07-07

最新評(píng)論