Last active
August 20, 2018 09:32
-
-
Save guillaumeguerin/d7c71a7a7e5bd703fb0550ed3f6379af to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // Use with : node worldweather.js > weather_europe_`date '+%Y_%m_%d_%H_%M'`.csv | |
| 'use strict'; | |
| const puppeteer = require('puppeteer'); | |
| const fs = require('fs'); | |
| const https = require('https'); | |
| (async() => { | |
| const browser = await puppeteer.launch({ | |
| headless: true | |
| }); | |
| const page = await browser.newPage(); | |
| page.on('console', msg => { | |
| var message = msg._text; | |
| if(message.startsWith("#")) { | |
| console.log(message.replace("#","")); | |
| } | |
| }); | |
| await page.goto('https://www.timeanddate.com/weather/?continent=europe', {waitUntil: 'networkidle2'}); | |
| await page.evaluate(_ => { | |
| var cityName = ""; | |
| var weather = ""; | |
| var temperature = ""; | |
| var rows = document.getElementsByTagName("tbody")[0].getElementsByTagName("tr"); | |
| for(i=0; i<rows.length; i++) { | |
| cityName = rows[i].children[0].innerText.replace(" *",""); | |
| weather = rows[i].children[2].children[0].getAttribute("alt"); | |
| temperature = rows[i].children[3].innerText.replace(" °C",""); | |
| console.log("#" + cityName + ";" + weather + ";" + temperature); | |
| } | |
| }); | |
| browser.close(); | |
| })(); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment