[Python] Steemitサイトを開いてスクロールしてみる

in SCT.암호화폐.Crypto5 years ago (edited)

こんにちは、@yasuです。

前回は、Steemitサイトをwebブラウザで開いてみましたが、今回は、自動的にスクロールさせてみます。

最初の投稿までさかのぼって表示するはずです^^

途中で表示が固まってしまうので、自動スクロールをリトライするようにしています。

環境構築

コード

#
# STEEMITをwebブラウザで開いてみる。
# 自動スクロール 

from selenium import webdriver
import time

url = "https://steemit.com/@steemitblog/posts"
browser = webdriver.Chrome("./chromedriver.exe")
browser.get(url)

#最後までスクロールする
interval = 1
prev_height = browser.execute_script("return document.body.scrollHeight")

for retry in range(100):
    while True:
        browser.execute_script("window.scrollTo(0,document.body.scrollHeight)")
        time.sleep(interval)
        curr_height = browser.execute_script("return document.body.scrollHeight")
        if curr_height == prev_height:
            break

        prev_height = curr_height
        interval = 1
    
    browser.execute_script("window.scrollBy(0, -10);")

    interval = interval * 1.1
    if interval > 3:
        break

    print(f"retry={retry},interval={interval:.2f}")
    time.sleep(interval)

print("スクロール終了")
browser.save_screenshot("steemit.png")


実行結果

image.png

参考サイト

Sort:  

@tipu curate

@yasu transfered 0.5 KRWP to @krwp.burn. voting percent : 7.27%, voting power : 62.36%, steem power : 1935398.16, STU KRW : 1200.
@yasu staking status : 250 KRWP
@yasu limit for KRWP voting service : 0.5 KRWP (rate : 0.002)
What you sent : 0.5 KRWP [47592719 - 3a7e72eefff9045cdefc1e95d4742091101b7e20]

Coin Marketplace

STEEM 0.12
TRX 0.34
JST 0.032
BTC 116458.54
ETH 4314.08
SBD 0.78