Il s'agit d'un article sur l'environnement Mac, mais la procédure est la même pour l'environnement Windows. Veuillez lire et essayer la partie dépendant de l'environnement.
Après avoir lu cet article jusqu'au bout, vous pourrez:
Automatisation des processus Web
Obtenez et affichez ** USD / JPY ** à partir du taux de change de Yahoo!
Afficher manuellement depuis le navigateur | Afficher les données acquises automatiquement |
---|---|
environnement | Ver. |
---|---|
macOS Mojave | 10.14.6 |
Python | 3.7.3 |
Flask | 1.1.1 |
selenium | 3.141.0 |
chromedrive | 78.0.3904.70 |
google-chrome | 78.0.3904.97 |
Je pense que vous pouvez approfondir votre compréhension en suivant réellement le contenu de l'implémentation et le code source. Veuillez l'utiliser par tous les moyens.
tree.sh
python-Selenium
├── fx_rate
│ ├── __init__.py
│ └── utility.py
└── main.py
main.py
import datetime
import logging
import os
from flask import Flask
from fx_rate.utility import get_fx_rate
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)
app = Flask(__name__)
@app.route('/fx-rate', methods=['GET'])
def get():
usd_jpy = get_fx_rate()
res = 'timestamp={}, USDJPY={}'.format(
datetime.datetime.utcnow() + datetime.timedelta(hours=9), usd_jpy)
logger.info(res)
return res, 200
if __name__ == '__main__':
host = os.getenv('HOST', '0.0.0.0')
port = int(os.getenv('PORT', 5000))
app.run(host=host, port=port, debug=True)
utility.py
import datetime
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.by import By
def get_fx_rate():
options = Options()
options.add_argument('--headless')
driver = webdriver.Chrome(options=options)
driver.get('https://info.finance.yahoo.co.jp/fx/')
usd_jpy = driver.find_element(By.ID, 'USDJPY_top_bid').text
driver.quit()
return usd_jpy
if __name__ == '__main__':
usd_jpy = get_fx_rate()
print('timestamp={}, USDJPY={}'.format(datetime.datetime.utcnow() +
datetime.timedelta(hours=9), usd_jpy))
Ajoutez ce qui suit à partir de ** Add buildpack ** dans la section Paramètres> Buildpacks.
Buildpack | URL |
---|---|
chromedrive | https://github.com/heroku/heroku-buildpack-chromedriver.git |
google-chrome | https://github.com/heroku/heroku-buildpack-google-chrome.git |
`Si vous déployez sur Heroku, il sera installé automatiquement. Veuillez vous inscrire à l'avance. Si vous avez déjà déployé ou souhaitez redéployer sans modifier le code source, essayez la validation vide ci-dessous. ''
allow_empty.sh
~$ git commit --allow-empty -m "allow empty commit"
~$ git push heroku master
Normalement, aucun réglage n'est requis. Si les versions de ** chromedrive ** et ** google-chrome ** sont différentes, par exemple lors de la mise à niveau de Chrome, vous devez spécifier la version de ** chromedrive **.
KEY | VALUE |
---|---|
CHROMEDRIVER_VERSION | Version prise en charge(Exemple: 78.0.3904.70) |
Recommended Posts