第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何監(jiān)控網(wǎng)站上不斷更新的值?

如何監(jiān)控網(wǎng)站上不斷更新的值?

catspeake 2022-09-02 21:13:18
我是Webscraping的新手,我不確定解決這個問題的最有效方法是什么。這個項目主要是用Python編寫的,但我愿意為了提高效率而使用其他語言。想象一下,網(wǎng)站上的一些js驅(qū)動的價值,比如實時訪問者計數(shù),或者一些金融資產(chǎn)的價格。加載網(wǎng)站后,隨著新信息的出現(xiàn)而不斷更新。我想要的是亞秒級采樣一個這樣的值,但自然,我不想用請求轟炸服務(wù)器,這無論如何都會破壞準確性。我正在考慮一些事情,比如用硒或PyQt webkit加載一個網(wǎng)頁,然后運行一個簡單的循環(huán)來監(jiān)控值,并在發(fā)生更改時更新數(shù)據(jù)庫。我不是在尋找代碼,我可以自己弄清楚,但我不確定這是否是解決這個問題的正確方法,或者是否有更有效的方法。
查看完整描述

3 回答

?
暮色呼如

TA貢獻1853條經(jīng)驗 獲得超9個贊

我已經(jīng)完全按照你所指的做了,只使用Python和Selenium。我不明白為什么Python不會成為你特定用例使用的語言。我能看到的唯一問題是網(wǎng)頁是否不斷(或緩慢)變化。

我遇到了一個問題,其中網(wǎng)頁被重新設(shè)計,并通過了我的Xpath。我所要做的就是更正Xpath以反映新位置,它仍然有效。

另一種解決方案可能是檢查您嘗試抓取的網(wǎng)頁是否已經(jīng)存在現(xiàn)有API。如果是這種情況,您可能不必進行任何網(wǎng)絡(luò)抓取,只需調(diào)用API即可獲得您的價值。這將是最有效的方法,但如果沒有要調(diào)用的API,顯然是不可能的。

附注:我對Python最滿意,并且在嘗試自動執(zhí)行任務(wù)時通常會默認使用它??赡苡懈嘈阅苷Z言可以使用,但我的選擇是Python。


查看完整回答
反對 回復 2022-09-02
?
達令說

TA貢獻1821條經(jīng)驗 獲得超6個贊

這是潛在的破壞性操作,不適用于聲明的任何內(nèi)容(這會阻止重新分配)。您可以嘗試在代理中“包裝”需要監(jiān)視的數(shù)據(jù)const

在此示例中:

  1. 該變量存在于頁面上,并且是您要跟蹤的變量。commodities

  2. 該函數(shù)通過Selenium注入和執(zhí)行。它保存一個小的“db”,用于記錄任何更改。track_commodities


查看完整回答
反對 回復 2022-09-02
?
守著星空守著你

TA貢獻1799條經(jīng)驗 獲得超8個贊

// inject that function and call it via Selenium >>>

function track_commodities () {


  track_commodities.db = { gold: []

                         , silver: []

                         , copper: []

                         };


  commodities = 

    new Proxy(commodities, {

      set: (o, k, v) => {

        track_commodities.db[k].push(v);

        o[k] = v;

        return true;

      }

    });

}


track_commodities();

// <<<



// Normal execution of your web page...

commodities.gold = 20;

commodities.gold = 30;

commodities.gold = 40;

commodities.gold++;

commodities.gold++;



console.log(commodities.gold);

console.log(track_commodities.db.gold)

<!-- This is the JS value you need to track -->

<script>

let commodities = { gold: 0

                  , silver: 0

                  , copper: 0

                  };

</script>


查看完整回答
反對 回復 2022-09-02
  • 3 回答
  • 0 關(guān)注
  • 125 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號