Skip to content

Instantly share code, notes, and snippets.

@kebot
Created July 14, 2017 12:57
Show Gist options
  • Save kebot/d9a6ee6cd2767eef088a1b34a3282a32 to your computer and use it in GitHub Desktop.
Save kebot/d9a6ee6cd2767eef088a1b34a3282a32 to your computer and use it in GitHub Desktop.
check Anmeldung einer Wohnung in Berlin
const request = require('request')
const cheerio = require('cheerio')
const urls = [
'https://service.berlin.de/terminvereinbarung/termin/tag.php?termin=1&anliegen[]=120686&dienstleisterlist=122210,122217,122219,122227&herkunft=http%3A%2F%2Fservice.berlin.de%2Fdienstleistung%2F120686%2F',
'https://service.berlin.de/terminvereinbarung/termin/tag.php?termin=1&dienstleister=122210&anliegen[]=120686&herkunft=1',
'https://service.berlin.de/terminvereinbarung/termin/tag.php?termin=1&dienstleister=122217&anliegen[]=120686&herkunft=1',
'https://service.berlin.de/terminvereinbarung/termin/tag.php?termin=1&dienstleister=122219&anliegen[]=120686&herkunft=1',
'https://service.berlin.de/terminvereinbarung/termin/tag.php?termin=1&dienstleister=122227&anliegen[]=120686&herkunft=1',
'https://service.berlin.de/terminvereinbarung/termin/tag.php?termin=1&anliegen[]=120686&dienstleisterlist=122231,122243&herkunft=http%3A%2F%2Fservice.berlin.de%2Fdienstleistung%2F120686%2F',
'https://service.berlin.de/terminvereinbarung/termin/tag.php?termin=1&dienstleister=122231&anliegen[]=120686&herkunft=1',
'https://service.berlin.de/terminvereinbarung/termin/tag.php?termin=1&dienstleister=122243&anliegen[]=120686&herkunft=1',
'https://service.berlin.de/terminvereinbarung/termin/tag.php?termin=1&anliegen[]=120686&dienstleisterlist=122252,122260,122262,122254&herkunft=http%3A%2F%2Fservice.berlin.de%2Fdienstleistung%2F120686%2F',
'https://service.berlin.de/terminvereinbarung/termin/tag.php?termin=1&dienstleister=122252&anliegen[]=120686&herkunft=1',
'https://service.berlin.de/terminvereinbarung/termin/tag.php?termin=1&dienstleister=122260&anliegen[]=120686&herkunft=1',
'https://service.berlin.de/terminvereinbarung/termin/tag.php?termin=1&dienstleister=122262&anliegen[]=120686&herkunft=1',
'https://service.berlin.de/terminvereinbarung/termin/tag.php?termin=1&dienstleister=122254&anliegen[]=120686&herkunft=1',
'https://service.berlin.de/terminvereinbarung/termin/tag.php?termin=1&anliegen[]=120686&dienstleisterlist=122271,122273,122277&herkunft=http%3A%2F%2Fservice.berlin.de%2Fdienstleistung%2F120686%2F',
'https://service.berlin.de/terminvereinbarung/termin/tag.php?termin=1&dienstleister=122271&anliegen[]=120686&herkunft=1',
'https://service.berlin.de/terminvereinbarung/termin/tag.php?termin=1&dienstleister=122273&anliegen[]=120686&herkunft=1',
'https://service.berlin.de/terminvereinbarung/termin/tag.php?termin=1&dienstleister=122277&anliegen[]=120686&herkunft=1',
'https://service.berlin.de/terminvereinbarung/termin/tag.php?termin=1&anliegen[]=120686&dienstleisterlist=122280,122282,122284&herkunft=http%3A%2F%2Fservice.berlin.de%2Fdienstleistung%2F120686%2F',
'https://service.berlin.de/terminvereinbarung/termin/tag.php?termin=1&dienstleister=122280&anliegen[]=120686&herkunft=1',
'https://service.berlin.de/terminvereinbarung/termin/tag.php?termin=1&dienstleister=122282&anliegen[]=120686&herkunft=1',
'https://service.berlin.de/terminvereinbarung/termin/tag.php?termin=1&dienstleister=122284&anliegen[]=120686&herkunft=1',
'https://service.berlin.de/terminvereinbarung/termin/tag.php?termin=1&anliegen[]=120686&dienstleisterlist=122291,122285,122286,122296,327262&herkunft=http%3A%2F%2Fservice.berlin.de%2Fdienstleistung%2F120686%2F',
'https://service.berlin.de/terminvereinbarung/termin/tag.php?termin=1&dienstleister=122291&anliegen[]=120686&herkunft=1',
'https://service.berlin.de/terminvereinbarung/termin/tag.php?termin=1&dienstleister=122285&anliegen[]=120686&herkunft=1',
'https://service.berlin.de/terminvereinbarung/termin/tag.php?termin=1&dienstleister=122286&anliegen[]=120686&herkunft=1',
'https://service.berlin.de/terminvereinbarung/termin/tag.php?termin=1&dienstleister=122296&anliegen[]=120686&herkunft=1',
'https://service.berlin.de/terminvereinbarung/termin/tag.php?termin=1&dienstleister=327262&anliegen[]=120686&herkunft=1',
'https://service.berlin.de/terminvereinbarung/termin/tag.php?termin=1&anliegen[]=120686&dienstleisterlist=150230,122301,122297,122294&herkunft=http%3A%2F%2Fservice.berlin.de%2Fdienstleistung%2F120686%2F',
'https://service.berlin.de/terminvereinbarung/termin/tag.php?termin=1&dienstleister=150230&anliegen[]=120686&herkunft=1',
'https://service.berlin.de/terminvereinbarung/termin/tag.php?termin=1&dienstleister=122301&anliegen[]=120686&herkunft=1',
'https://service.berlin.de/terminvereinbarung/termin/tag.php?termin=1&dienstleister=122297&anliegen[]=120686&herkunft=1',
'https://service.berlin.de/terminvereinbarung/termin/tag.php?termin=1&dienstleister=122294&anliegen[]=120686&herkunft=1',
'https://service.berlin.de/terminvereinbarung/termin/tag.php?termin=1&anliegen[]=120686&dienstleisterlist=122312,122314,122304,122311,122309,317869,324433,325341,324434&herkunft=http%3A%2F%2Fservice.berlin.de%2Fdienstleistung%2F120686%2F',
'https://service.berlin.de/terminvereinbarung/termin/tag.php?termin=1&dienstleister=122312&anliegen[]=120686&herkunft=1',
'https://service.berlin.de/terminvereinbarung/termin/tag.php?termin=1&dienstleister=122314&anliegen[]=120686&herkunft=1',
'https://service.berlin.de/terminvereinbarung/termin/tag.php?termin=1&dienstleister=122304&anliegen[]=120686&herkunft=1',
'https://service.berlin.de/terminvereinbarung/termin/tag.php?termin=1&dienstleister=122311&anliegen[]=120686&herkunft=1',
'https://service.berlin.de/terminvereinbarung/termin/tag.php?termin=1&dienstleister=122309&anliegen[]=120686&herkunft=1',
'https://service.berlin.de/terminvereinbarung/termin/tag.php?termin=1&dienstleister=317869&anliegen[]=120686&herkunft=1',
'https://service.berlin.de/terminvereinbarung/termin/tag.php?termin=1&dienstleister=324433&anliegen[]=120686&herkunft=1',
'https://service.berlin.de/terminvereinbarung/termin/tag.php?termin=1&dienstleister=325341&anliegen[]=120686&herkunft=1',
'https://service.berlin.de/terminvereinbarung/termin/tag.php?termin=1&dienstleister=324434&anliegen[]=120686&herkunft=1',
'https://service.berlin.de/terminvereinbarung/termin/tag.php?termin=1&anliegen[]=120686&dienstleisterlist=122281,324414,122283,122279&herkunft=http%3A%2F%2Fservice.berlin.de%2Fdienstleistung%2F120686%2F',
'https://service.berlin.de/terminvereinbarung/termin/tag.php?termin=1&dienstleister=122281&anliegen[]=120686&herkunft=1',
'https://service.berlin.de/terminvereinbarung/termin/tag.php?termin=1&dienstleister=324414&anliegen[]=120686&herkunft=1',
'https://service.berlin.de/terminvereinbarung/termin/tag.php?termin=1&dienstleister=122283&anliegen[]=120686&herkunft=1',
'https://service.berlin.de/terminvereinbarung/termin/tag.php?termin=1&dienstleister=122279&anliegen[]=120686&herkunft=1',
'https://service.berlin.de/terminvereinbarung/termin/tag.php?termin=1&anliegen[]=120686&dienstleisterlist=122276,122274,122267&herkunft=http%3A%2F%2Fservice.berlin.de%2Fdienstleistung%2F120686%2F',
'https://service.berlin.de/terminvereinbarung/termin/tag.php?termin=1&dienstleister=122276&anliegen[]=120686&herkunft=1',
'https://service.berlin.de/terminvereinbarung/termin/tag.php?termin=1&dienstleister=122274&anliegen[]=120686&herkunft=1',
'https://service.berlin.de/terminvereinbarung/termin/tag.php?termin=1&dienstleister=122267&anliegen[]=120686&herkunft=1',
'https://service.berlin.de/terminvereinbarung/termin/tag.php?termin=1&anliegen[]=120686&dienstleisterlist=122246,122251,122257&herkunft=http%3A%2F%2Fservice.berlin.de%2Fdienstleistung%2F120686%2F',
'https://service.berlin.de/terminvereinbarung/termin/tag.php?termin=1&dienstleister=122246&anliegen[]=120686&herkunft=1',
'https://service.berlin.de/terminvereinbarung/termin/tag.php?termin=1&dienstleister=122251&anliegen[]=120686&herkunft=1',
'https://service.berlin.de/terminvereinbarung/termin/tag.php?termin=1&dienstleister=122257&anliegen[]=120686&herkunft=1',
'https://service.berlin.de/terminvereinbarung/termin/tag.php?termin=1&anliegen[]=120686&dienstleisterlist=122208,122226&herkunft=http%3A%2F%2Fservice.berlin.de%2Fdienstleistung%2F120686%2F',
'https://service.berlin.de/terminvereinbarung/termin/tag.php?termin=1&dienstleister=122208&anliegen[]=120686&herkunft=1',
'https://service.berlin.de/terminvereinbarung/termin/tag.php?termin=1&dienstleister=122226&anliegen[]=120686&herkunft=1'
]
function checkUrl (url, callback) {
request.get(url, (err, response, html) => {
if (err) {
return callback(err, {url})
}
const $ = cheerio.load(html)
const titleText = $('title').text()
if (titleText === '429 Calm down') {
return callback(true, {
url
})
}
const nodes = $('table').first().find('a.tagesauswahl')
if (nodes.length) {
callback(false, {
days: nodes.length, url
})
}
})
}
function main () {
urls.map((url, i) => {
setTimeout(() => {
checkUrl(url, function (error, {days, url}) {
if (error) {
console.log('parse error', url)
return
}
console.log(days, 'left in', url)
})
}, i * 100)
})
}
main()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment