https://github.com/suyashb95/WiktionaryParser
A Python Wiktionary Parser
https://github.com/suyashb95/WiktionaryParser
mediawiki parser python wiktionary-parser
Last synced: 7 months ago
JSON representation
A Python Wiktionary Parser
- Host: GitHub
- URL: https://github.com/suyashb95/WiktionaryParser
- Owner: suyashb95
- License: mit
- Created: 2015-10-23T14:41:30.000Z (about 10 years ago)
- Default Branch: master
- Last Pushed: 2025-02-23T16:51:43.000Z (11 months ago)
- Last Synced: 2025-07-02T23:02:18.505Z (7 months ago)
- Topics: mediawiki, parser, python, wiktionary-parser
- Language: Python
- Homepage:
- Size: 512 KB
- Stars: 361
- Watchers: 11
- Forks: 94
- Open Issues: 35
-
Metadata Files:
- Readme: readme.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.txt
Awesome Lists containing this project
README
### Wiktionary Parser
A python project which downloads words from English Wiktionary ([en.wiktionary.org](https://en.wiktionary.org)) and parses articles' content in an easy to use JSON format. Right now, it parses etymologies, definitions, pronunciations, examples, audio links and related words.
Note: This project will not be maintained since there are many free dictionary APIs now, please see - https://dictionaryapi.dev/ for example
[](http://pepy.tech/project/wiktionaryparser)
#### JSON structure
```json
[{
"pronunciations": {
"text": ["pronunciation text"],
"audio": ["pronunciation audio"]
},
"definitions": [{
"relatedWords": [{
"relationshipType": "word relationship type",
"words": ["list of related words"]
}],
"text": ["list of definitions"],
"partOfSpeech": "part of speech",
"examples": ["list of examples"]
}],
"etymology": "etymology text",
}]
```
#### Installation
##### Using pip
* run `pip install wiktionaryparser`
##### From Source
* Clone the repo or download the zip
* `cd` to the folder
* run `pip install -r "requirements.txt"`
#### Usage
- Import the WiktionaryParser class.
- Initialize an object and use the `fetch("word", "language")` method.
- The default language is English, it can be changed using the `set_default_language method`.
- Include/exclude parts of speech to be parsed using `include_part_of_speech(part_of_speech)` and `exclude_part_of_speech(part_of_speech)`
- Include/exclude relations to be parsed using `include_relation(relation)` and `exclude_relation(relation)`
#### Examples
```python
>>> from wiktionaryparser import WiktionaryParser
>>> parser = WiktionaryParser()
>>> word = parser.fetch('test')
>>> another_word = parser.fetch('test', 'french')
>>> parser.set_default_language('french')
>>> parser.exclude_part_of_speech('noun')
>>> parser.include_relation('alternative forms')
```
#### Requirements
- requests==2.20.0
- beautifulsoup4==4.4.0
#### Contributions
If you want to add features/improvement or report issues, feel free to send a pull request!
#### License
Wiktionary Parser is licensed under [MIT](LICENSE.txt).