Skip to main content

Python Wrapper for Wikipedia

Project description

Wikipedia API

This package provides python API for accessing Wikipedia.

build status Documentation Status Code Climate Issue Count

Installation

pip3 install wikipedia-api

Usage

import wikipedia

# Extract data in Wiki format
wiki_wiki = wikipedia.Wikipedia('en')

page_py = wiki_wiki.article('Python_(programming_language)')

print("Page - Exists: %s" % page_py.exists())
# Page - Exists: True

print("Page - Id: %s" % page_py.pageid)
# Page - Id: 23862

print("Page - Title: %s" % page_py.title)
# Page - Title: Python (programming language)

print("Page - Summary: %s" % page_py.summary[0:60])
# Page - Summary: Python is a widely used high-level programming language for

def print_sections(sections, level=0):
        for s in sections:
                print("%s: %s - %s" % ("*" * (level + 1), s.title, s.text[0:40]))
                print_sections(s.sections, level + 1)


print_sections(page_py.sections)
# *: History - Python was conceived in the late 1980s,
# *: Features and philosophy - Python is a multi-paradigm programming l
# *: Syntax and semantics - Python is meant to be an easily readable
# **: Indentation - Python uses whitespace indentation, rath
# **: Statements and control flow - Python's statements include (among other
# **: Expressions - Some Python expressions are similar to l
# ...

def print_langlinks(page):
        langlinks = page.langlinks
        for k in sorted(langlinks.keys()):
            v = langlinks[k]
            print("%s: %s - %s: %s" % (k, v.lang, v.title, v.url))

print_langlinks(page_py)
# af: af - Python (programmeertaal): https://af.wikipedia.org/wiki/Python_(programmeertaal)
# als: als - Python (Programmiersprache): https://als.wikipedia.org/wiki/Python_(Programmiersprache)
# an: an - Python: https://an.wikipedia.org/wiki/Python
# ar: ar - بايثون: https://ar.wikipedia.org/wiki/%D8%A8%D8%A7%D9%8A%D8%AB%D9%88%D9%86
# as: as - পাইথন: https://as.wikipedia.org/wiki/%E0%A6%AA%E0%A6%BE%E0%A6%87%E0%A6%A5%E0%A6%A8

section_py = page_py.section_by_title('Features and philosophy')
print("Section - Title: %s" % section_py.title)
# Section - Title: Features and philosophy

print("Section - Text: %s" % section_py.text[0:60])
# Section - Text: Python is a multi-paradigm programming language. Object-orie

# Now lets extract texts with HTML tags
wiki_html = wikipedia.Wikipedia(
        language='cs',
        extract_format=wikipedia.ExtractFormat.HTML
)

page_ostrava = wiki_html.article('Ostrava')

print("Page - Exists: %s" % page_ostrava.exists())
# Page - Exists: True

print("Page - Id: %s" % page_ostrava.pageid)
# Page - Id: 7667

print("Page - Title: %s" % page_ostrava.title)
# Page - Title: Ostrava

print("Page - Summary: %s" % page_ostrava.summary[0:60])
# Page - Summary: <p><b>Ostrava</b> (polsky <span lang="pl" title="polština" x

print_sections(page_ostrava.sections)
# *: Znak a logo -
# **: Heraldický znak - <p>Městský znak je blasonován: <i>V modr
# **: Marketingové logo - <p>V roce 2008 bylo představeno nové log
# *: Historie - <dl><dd><i>Související informace nalezne
# **: Zemské hranice - <p>Zemské hranice zde tvoří řeky Odra a
# *: Obyvatelstvo - <ul class="gallery mw-gallery-traditiona

section_ostrava = page_ostrava.section_by_title('Heraldický znak')
print("Section - Title: %s" % section_ostrava.title)
# Section - Title: Heraldický znak

print("Section - Text: %s" % section_ostrava.text[0:60])
# Section - Text: <p>Městský znak je blasonován: <i>V modrém štítě na zeleném

page_nonexisting = wiki_wiki.article('Wikipedia-API-FooBar')
print("Page - Exists: %s" % page_nonexisting.exists())
# Page - Exists: False

print("Page - Id: %s" % page_nonexisting.pageid)
# Page - Id: -1

print("Page - Title: %s" % page_nonexisting.title)
# Page - Title: Wikipedia-API-FooBar

print("Page - Summary: %s" % page_nonexisting.summary[0:60])
# Page - Summary:

Changelog

0.2.1

0.2.0

  • Use properties instead of functions

  • Added support for property Info

0.1.6

  • Support for extracting texts with HTML markdown

  • Added initial version of unit tests

0.1.4

  • It’s possible to extract summary and sections of the page

  • Added support for property Extracts

Project details


Download files

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

Source Distribution

Wikipedia-API-0.2.1.tar.gz (10.2 kB view details)

Uploaded Source

File details

Details for the file Wikipedia-API-0.2.1.tar.gz.

File metadata

File hashes

Hashes for Wikipedia-API-0.2.1.tar.gz
Algorithm Hash digest
SHA256 62870836477a8a1e7a768e9c5c2364480f0f46302c5b9a3d0ac3c804b13d02be
MD5 a4d305154d79bff7a1273dc3a23dd05c
BLAKE2b-256 9df1461cdebf8a997dec980941976a8e3a6b88c50c91835b47f5e7e6382db31c

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page