python selenium 処理量が多い
python selenium を用いてスクレイピングをしています。
具体的には、メルカリのようなサイトの出品されたものの名前と価格、出品IDを取得するというようなプログラムです。
先ほど実際に処理を動かしてみたのですが、処理時間がかなりかかってしまいました。
何か良い時短方法や処理を軽くする方法など有れば教えてください。
最終的にAWSもしくは、レンタルサーバーでの運用を検討していますが、この処理が重いと金額的に変わってきたりするのでしょうか?
一部処理を載せます
取得したデータを一度リストでまとめて、pandasに渡し、FLASKのrender templateでHTML側のテーブルに表示させます。
10分に1回程度の定期実行です。
データ取得の数は、5000個程度で5000×3のテーブルになってました。
実行時間としては、4分程度だったと思います。
あまり負担のかからない処理などがあれば教えて欲しいといった意図で投稿しました。
main.py
names = driver.find_elements(By.CLASS_NAME, "MyNFTList-card__name")
prices = driver.find_elements(By.CLASS_NAME, "nft-price_text")
numbers = driver.find_elements(By.CLASS_NAME, "MyNFTList-card__number")
namees = []
for name in names:
namees.append(name.text)
pricees = []
for price in prices:
pricees.append(price.text)
numberes = []
for number in numbers:
numberes.append(number.text)
data = list(zip(namees, pricees, numberes))
df = pd.DataFrame(data)
#HTML側に渡す
header = df.columns
record = df.values.tolist()
print(df)
0