国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

『python爬蟲』24. selenium之無頭瀏覽器-后臺靜默運行(保姆級圖文)

這篇具有很好參考價值的文章主要介紹了『python爬蟲』24. selenium之無頭瀏覽器-后臺靜默運行(保姆級圖文)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。


歡迎關(guān)注 『python爬蟲』 專欄,持續(xù)更新中
歡迎關(guān)注 『python爬蟲』 專欄,持續(xù)更新中

1. 無頭瀏覽器

  • 一般性的selenium會打開瀏覽器頁面,展示圖形化頁面給我們看,我們都應(yīng)該知道命令行式的程序肯定比這種渲染圖形化界面的程序快速高效。為了一定程度上緩解selenium慢的問題,我們可以采用無頭瀏覽器。

  • 無頭瀏覽器值?!盁o頭瀏覽器”的“無頭”元素與它們確實缺少一個關(guān)鍵元素(即圖形用戶界面(GUI))有關(guān)。這使得我們可以做到后臺的靜默運行中完成爬蟲。

  • 優(yōu)點:快捷高效

  • 缺點:編寫代碼和調(diào)試更加困難(沒有圖形化界面的痛苦)

  • 適用場景:已經(jīng)確保能夠成功爬取數(shù)據(jù),為了提高效率,可以使用無頭瀏覽器。


2. 分析被爬取數(shù)據(jù)的網(wǎng)頁結(jié)構(gòu)

藝恩數(shù)據(jù)
https://www.endata.com.cn/BoxOffice/BO/Year/index.html
  • 年份下拉框select元素的xpath //*[@id="OptionDate"]定位
    『python爬蟲』24. selenium之無頭瀏覽器-后臺靜默運行(保姆級圖文)
  • 借助 select支持庫將select元素轉(zhuǎn)為select對象
sel = Select(sel_el)# 對元素進行包裝, 包裝成下拉菜單對象
  • 抓取每個年份的數(shù)據(jù)table xpath定位 //*[@id="TableList"]/table

『python爬蟲』24. selenium之無頭瀏覽器-后臺靜默運行(保姆級圖文)
i就是每一個下拉框選項的索引位置 把5換成len(sel.options)表示遍歷所有年份 這里是5表示最近4年【0,5)

# for i in range(len(sel.options)):#所有年份的數(shù)據(jù)
for i in range(5):#最近【0,5)年的數(shù)據(jù) 也就是 [2023-2019]
    sel.select_by_index(i)  # 遍歷每一年,按照索引進行切換
    time.sleep(2)
    table = web.find_element_by_xpath('//*[@id="TableList"]/table')
    print(table.text)  # 打印所有文本信息
    print("===================================")


3. 完整代碼

from selenium.webdriver import Chrome
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.support.select import Select
import time


# 創(chuàng)建一個參數(shù)對象,用來控制chrome以無界面模式打開(可以視為固定寫法)
opt = Options()#新建參數(shù)對象
opt.add_argument("--headless")#無頭
opt.add_argument("--disbale-gpu")#無gpu圖形化界面

web = Chrome(options=opt)  # 把參數(shù)配置設(shè)置到瀏覽器中

web.get("https://www.endata.com.cn/BoxOffice/BO/Year/index.html")

time.sleep(2)

sel_el = web.find_element_by_xpath('//*[@id="OptionDate"]')# 定位到下拉列表

sel = Select(sel_el)# 對元素進行包裝, 包裝成下拉菜單對象
# print(sel.options) #打印所有的下拉選項
# 讓瀏覽器進行調(diào)整選項
for i in range(5):  # i就是每一個下拉框選項的索引位置  把5換成len(sel.options)表示遍歷所有年份 這里是5表示最近4年【0,5)
    sel.select_by_index(i)  # 遍歷每一年,按照索引進行切換
    time.sleep(2)
    table = web.find_element_by_xpath('//*[@id="TableList"]/table')
    print(table.text)  # 打印所有文本信息
    print("===================================")

print("運行完畢.  ")


# 拿到頁面代碼Elements(經(jīng)過數(shù)據(jù)加載以及js執(zhí)行之后的結(jié)果的html內(nèi)容)
print(web.page_source)

web.close()#注意關(guān)閉連接,如果不關(guān)閉可能會導致有多個連接,進而容易封禁
print("關(guān)閉連接")

『python爬蟲』24. selenium之無頭瀏覽器-后臺靜默運行(保姆級圖文)

『python爬蟲』24. selenium之無頭瀏覽器-后臺靜默運行(保姆級圖文)


總結(jié)

大家喜歡的話,給個??,點個關(guān)注!給大家分享更多計算機專業(yè)學生的求學之路!

版權(quán)聲明:

發(fā)現(xiàn)你走遠了@mzh原創(chuàng)作品,轉(zhuǎn)載必須標注原文鏈接

Copyright 2023 mzh

Crated:2023-3-1

歡迎關(guān)注 『python爬蟲』 專欄,持續(xù)更新中
歡迎關(guān)注 『python爬蟲』 專欄,持續(xù)更新中
『未完待續(xù)』文章來源地址http://www.zghlxwxcb.cn/news/detail-466715.html


到了這里,關(guān)于『python爬蟲』24. selenium之無頭瀏覽器-后臺靜默運行(保姆級圖文)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Selenium Edge的無頭瀏覽器模式以及反WebDriver檢測

    Selenium Edge的無頭瀏覽器模式以及反WebDriver檢測

    ? ? ? ? 由于本人只使用Edge瀏覽器,所以在得知Selenium對PantomJS的支持取消后,在網(wǎng)上找了各種關(guān)于Edge瀏覽器的資料。配置Selenium Edge有多種方法,但這里只介紹一種方法。 MSEdgeDriver下載地址 ?此處需要注意將瀏覽器更新到最新版本,以及選擇正確的下載通道 解壓下載的壓縮

    2023年04月09日
    瀏覽(90)
  • Python 和 Selenium 的瀏覽器爬蟲

    Python 和 Selenium 的瀏覽器爬蟲

    Selenium?是一款強大的基于瀏覽器的開源自動化測試工具,最初由 Jason Huggins 于 2004 年在 ThoughtWorks 發(fā)起,它提供了一套簡單易用的 API,模擬瀏覽器的各種操作,方便各種 Web 應(yīng)用的自動化測試。 它的取名很有意思,因為當時最流行的一款自動化測試工具叫做 QTP,是由 Mercur

    2024年02月08日
    瀏覽(157)
  • Python爬蟲(2)-Selenium控制瀏覽器

    Python爬蟲(2)-Selenium控制瀏覽器

    Selenium中提供了不少的方法來操作瀏覽器 使用driver.get(‘網(wǎng)址’)的方式來打開瀏覽器 driver.refresh() 瀏覽器切換標簽的方法就是, driver.current_window_handle 用selenium點擊新打開了一個網(wǎng)頁,需要告知selenium目前這個窗口是新的窗口,那么它才能早新的頁面進行操作不然的話就無法操

    2024年02月08日
    瀏覽(88)
  • python爬蟲之selenium模擬瀏覽器

    python爬蟲之selenium模擬瀏覽器

    之前在異步加載(AJAX)網(wǎng)頁爬蟲的時候提到過,爬取這種ajax技術(shù)的網(wǎng)頁有兩種辦法:一種就是通過瀏覽器審查元素找到包含所需信息網(wǎng)頁的真實地址,另一種就是通過selenium模擬瀏覽器的方法[1]。當時爬的是豆瓣,比較容易分析出所需信息的真實地址,不過一般大點的網(wǎng)站像

    2024年02月03日
    瀏覽(91)
  • Selenium 無頭瀏覽器被知乎限制訪問的解決方案

    Selenium 無頭瀏覽器被知乎限制訪問的解決方案

    我嘗試使用如下代碼爬取知乎的有關(guān)內(nèi)容,出現(xiàn)知乎安全驗證界面: 添加啟動參數(shù) 在網(wǎng)上的許多文章中,反復提到了如下三行代碼,然而我將他們加入代碼后沒有什么效果: JavaScript特殊全局變量 有一些文章提到,通過 WebDriver 啟動的網(wǎng)頁會存在一些特殊的 JS 變量,這些變

    2024年02月14日
    瀏覽(90)
  • 干貨!一文搞定無頭瀏覽器的概念以及在selenium中的應(yīng)用

    干貨!一文搞定無頭瀏覽器的概念以及在selenium中的應(yīng)用

    ? 無頭瀏覽器,即 Headless Browser,是一種沒有界面的瀏覽器。它擁有完整的瀏覽器內(nèi)核,包括 JavaScript 解析引擎、渲染引擎等。與普通瀏覽器最大的不同是,無頭瀏覽器執(zhí)行過程中看不到運行的界面,但是我們依然可以用 GUI 測試框架的截圖功能截取它執(zhí)行中的頁面。在這里強

    2023年04月12日
    瀏覽(92)
  • python使用selenium控制瀏覽器進行爬蟲

    python使用selenium控制瀏覽器進行爬蟲

    這里以谷歌瀏覽器為例,需要安裝一下chromedriver,其他瀏覽器也有相對應(yīng)的driver,chromedriver下載地址:https://googlechromelabs.github.io/chrome-for-testing/ 然后是打開python環(huán)境安裝一下依賴 pip install selenium ,驗證一下控制瀏覽器是否成功 點擊運行腳本可以看到以下頁面就成功了。 爬蟲

    2024年02月04日
    瀏覽(89)
  • 【python爬蟲】10.指揮瀏覽器自動工作(selenium)

    【python爬蟲】10.指揮瀏覽器自動工作(selenium)

    上一關(guān),我們認識了cookies和session。 分別學習了它們的用法,以及區(qū)別。 還做了一個項目:帶著小餅干登錄,然后在博客中發(fā)表評論。 除了上一關(guān)所講的登錄問題,在爬蟲過程中,我們還可能會遇到各種各樣棘手的問題—— 有的網(wǎng)站登錄很復雜,驗證碼難以破解,比如大名

    2024年02月10日
    瀏覽(95)
  • 【python爬蟲】設(shè)計自己的爬蟲 4. 封裝模擬瀏覽器 Selenium

    有些自動化工具可以獲取瀏覽器當前呈現(xiàn)的頁面的源代碼,可以通過這種方式來進行爬取 一般常用的的有Selenium, playwright, pyppeteer,考慮到他們的使用有許多相同之處,因此考慮把他們封裝到一套api中 先看基類 Selenium是一個自動化測試工具,利用它可以驅(qū)動瀏覽器完成特定

    2024年02月03日
    瀏覽(91)
  • python爬蟲之selenium庫,瀏覽器訪問搜索頁面并提取信息,及隱藏瀏覽器運行

    python爬蟲之selenium庫,瀏覽器訪問搜索頁面并提取信息,及隱藏瀏覽器運行

    如果鏈接簡單,爬蟲可以通過鏈接用requests庫提取頁面信息,如爬取豆瓣top250影片信息,鏈接簡單易懂。參考:爬取豆瓣top250影片信息 但如果遇到一些搜索之類的,基于js動態(tài)加載的網(wǎng)頁,以上就不適合,如爬蟲b站,搜索“爬蟲”頁面,第一頁鏈接如下,第二頁又是很長沒規(guī)

    2024年01月23日
    瀏覽(228)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包