気象庁の天気図のサイトのスクリーンショットをAWS Lambde定期的に取得しようとしています。
https://www.jma.go.jp/bosai/weather_map
ほぼ同時刻ローカルとAWS Lamdba実行した際に取得されるスクリーンショットの画像が違ってしまいます。
こちらの対策についてご教授願います。
2021年5月30日0時に実行
ローカルで実行 表示時刻 2021年5月29日21時の実況
(普通にブラウザで接続した際と同じ内容、この画像を取得したい)
![]
AWS Lamdbaで実行 表示時刻 2021年5月28日121時の実況 (通常接続と異なる画像が取得 1日前の状態)
python
1#気象庁天気図サイトスクリーンショット取得 2#https://www.jma.go.jp/bosai/weather_map 3 4import time 5import os 6import boto3 7 8from selenium import webdriver 9 10webdriver_path = "/opt/python/bin/chromedriver" #AWS Lambda実行時 11#webdriver_path = "c:/chromedriver/chromedriver" #ローカル実行時 12 13localpath = "/tmp/" 14 15SCREEN_SHOT_PATH_NAME = "/tmp/screenshot.png" 16BUCKET_NAME = 'mybucket' 17OUTPUT_FILE_NAME = 'screenshot.png' 18 19 20# webdriber.chrome option 設定 21options = webdriver.ChromeOptions() 22options.add_argument("--headless") 23options.add_argument("--disable-gpu") 24options.add_argument("--window-size=1704x1078") 25options.add_argument("--disable-application-cache") 26options.add_argument("--disable-infobars") 27options.add_argument("--no-sandbox") 28options.add_argument("--hide-scrollbars") 29options.add_argument("--enable-logging") 30options.add_argument("--log-level=0") 31options.add_argument("--single-process") 32options.add_argument("--ignore-certificate-errors") 33options.add_argument("--homedir=/tmp") 34options.binary_location = "/opt/python/bin/headless-chromium" #AWS Lambda実行時 35 36 37 38def lambda_handler(event, context): 39 40 os.environ['HOME'] = '/opt/' 41 print("環境変数",os.environ['HOME']) 42 43 driver = webdriver.Chrome(webdriver_path, chrome_options=options) 44 45 url = "https://www.jma.go.jp/bosai/weather_map" 46 driver.get(url) 47 48 time.sleep(3) 49 50 imgname = localpath + "screenshot.png" 51 driver.get_screenshot_as_file(imgname) 52 print("スクリーンショット保存: "+url+" --> "+imgname) 53 54 #S3にアップロード 55 s3 = boto3.resource("s3") 56 s3.meta.client.upload_file(SCREEN_SHOT_PATH_NAME, BUCKET_NAME, OUTPUT_FILE_NAME) 57 58 59#print(lambda_handler(0,0)) #ローカル実行時 60 61
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/05/31 12:34
2021/05/31 13:37
2021/05/31 22:30 編集