Skip to main content

Package to crawl country information of German Foreign Office

Project description

pyreiseamt

The German Foreign Office publishes travel information for nearly all countries in the world. This includes information on security and medical matters. Information is up-to-date and allows to asses whether a certain country is safe to visit or not.

pyreiseamt is designed to crawl the information on https://www.auswaertiges-amt.de/de/ReiseUndSicherheit/reise-und-sicherheitshinweise and present the data in structured JSON format. Also, pyreiseamt can deliver sentiment analysis for every country and every category. This allows you to mine the available data more efficently.

Installation

You can install pyreiseamt via pip.

pip install pyreiseamt

After installation has finished, you have the choice to use pyreiseamt as a CLI tool or input its scraper into one of your scripts.

Usage

pyreiseamt offers a unified point of entry for two basic tasks: list available countries and extract information on one or more countries.

List Available Countries

If you want to get a list of available country names (or want to make sure that you use the correct one), you can use the list command. There are no additonal arguments needed for that:

pyreiseamt list

After fetching the newest data from the Foreign Office's website, you will get a list of all available countries printed to your screen. There are four countries for every row and the single countries are seperated by ' | '.

Extract Information

Assume that you want to crawl information on all available countries. You can use the extract with the -o (output path) argument. -o should point to a json file where the results will be written to. Note that your output file should always end with '.json'

pyreiseamt extract -o ~/all_countries.json

If you want to limit the crawl job to certain countries, you can use the -c argument. A single string should list all countries you want to extract, seperated by a semicolon.

pyreiseamt extract -o ~/select_countries.json -c "Frankreich;Georgien;Griechenland"

This will limit the extraction to France, Georgia, and Greece.

There are two remaining options to the extract command. The presence of -s will calculate the sentiment for every top category for every country. Also, -n will make sure that the top category names are all consistent for every country. The last option is necessary due to the fact that a category might have a different name in one country than in the other (despite the same content). If you want to extract information on all countries but also include sentiment and consistent category names, you could use pyreiseamt like so:

pyreiseamt extract -o ~/all_countries.json -s -n

####Use the Scraper in your own scripts If you prefer to use the built-in crawler in your scripts, you can do so by importing the scraper from the package (assuming that you've installed the package).

from pyreiseamt.scraper import extract_country

url = "https://www.auswaertiges-amt.de/de/ReiseUndSicherheit/australiensicherheit/213920"

australia = extract_country(url)

australia will be a dictionary holding the relevant texts for every top and sub category.

Links

pyreiseamt is a crawler with a CLI to https://www.auswaertiges-amt.de/de/ReiseUndSicherheit/reise-und-sicherheitshinweise. However, right now there is only information on country specific security issues, general travel guidances, and medical conditions. You can use the website to extract more information if needed.

Project details


Release history Release notifications

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for pyreiseamt, version 0.0.1
Filename, size File type Python version Upload date Hashes
Filename, size pyreiseamt-0.0.1-py3-none-any.whl (212.5 kB) File type Wheel Python version py3 Upload date Hashes View hashes
Filename, size pyreiseamt-0.0.1.tar.gz (6.7 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page