സഹായം:ഉപകരണങ്ങള്/wiktGet.py
വിക്കിനിഘണ്ടു, ഒരു സ്വതന്ത്ര ബഹുഭാഷാനിഘണ്ടു.
< സഹായം:ഉപകരണങ്ങള്(ഉപയോക്താവ്:Jacob.jose/wiktGet.py എന്ന താളില് നിന്നും തിരിച്ചുവിട്ടതു പ്രകാരം)
# wiktGet.py
#
# Crude, unorganized version
#
import urllib, urllib2
import re, string
import sys
import os
import stat
import wikipedia
def getWordsFromForeignWikiCategory():
headers = {}
headers['User-Agent'] = 'Bot/Jacob.jose'
request = urllib2.Request('http://en.wiktionary.org/w/index.php?title=Special%3AAllpages&from=%E3%82%A2%E3%83%AB%E3%83%90%E3%82%A4%E3%83%88&namespace=0', '', headers)
response = urllib2.urlopen(request)
data = response.read()
inFileHandle = open('./url.txt', 'w')
inFileHandle.write(data)
"""return data
inFileHandle = open('./url.txt', 'r')
data = inFileHandle.read()"""
wordSearchR = re.compile(r'<li><a href=\"([^\"]+)\"[\s]*title=\"([^\"]+)\"')
return data, wordSearchR
def getWordsFromForeignWikiAllpages():
headers = {}
headers['User-Agent'] = 'Bot/Jacob.jose'
request = urllib2.Request('http://en.wiktionary.org/w/index.php?title=Special%3AAllpages&from=%E3%82%A2%E3%83%AB%E3%83%90%E3%82%A4%E3%83%88&namespace=0', '', headers)
response = urllib2.urlopen(request)
data = response.read()
inFileHandle = open('./url.txt', 'w')
inFileHandle.write(data)
"""inFileHandle = open('./url.txt', 'r')
data = inFileHandle.read()"""
wordSearchR = re.compile(r'<td><a href=\"([^\"]+)\"[\s]*title=\"([^\"]+)\"')
return data, wordSearchR
def getPageContentsFromForeignWiki(wordPercentageEncoded):
wordPercentageEncoded = string.replace( wordPercentageEncoded, "/wiki/", "")
page = wikipedia.Page(wikipedia.getSite('en', 'wiktionary'), wordPercentageEncoded).get()
#print repr(page)
return page
def mlAutoTranslate(page):
page = page.encode('utf-8')
page = re.sub( "=[\s]*Japanese[\s]*=", "=ജാപ്പനീസ്=", page)
page = re.sub( "=[\s]*Noun[\s]*=", "=നാമം=", page)
page = string.replace( page, "Katakana character", "കട്ടക്കാനാ പദം")
page = string.replace( page, "Related terms", "ബന്ധപ്പെട്ട പദങ്ങള്")
page = string.replace( page, "Category:", "വിഭാഗം:")
page = re.sub( "=[\s]*Adjective[\s]*=", "=നാമവിശേഷണം=", page)
page = re.sub( "=[\s]*Adverb[\s]*=", "=ക്രിയാവിശേഷണം=", page)
page = string.replace( page, "Etymology", "പദത്തിന്റെ ഉദ്ഭവം")
page = string.replace( page, "Derived terms", "ഈ പദത്തില്നിന്നുദ്ഭവിച്ച പദങ്ങള്")
page = string.replace( page, "Synonyms", "പര്യായപദങ്ങള്")
page = string.replace( page, "Proper noun", "സംജ്ഞാനാമം")
page = string.replace( page, "|proper noun", "|സംജ്ഞാനാമം")
page = string.replace( page, "|proper", "|സംജ്ഞാനാമം")
page = string.replace( page, "|noun", "|നാമം")
page = string.replace( page, "See also", "ഇതും കാണുക")
page = string.replace( page, "Pronunciation", "ഉച്ചാരണം")
page = string.replace( page, "Alternative spellings", "മറ്റു സ്പെല്ലിംഗുകള്")
page = string.replace( page, "ja:Basic Elements", "ja:അടിസ്ഥാന കണങ്ങള്")
page = string.replace( page, "ja:Amino Acids", "ja:അമിനോ അമ്ലങ്ങള്")
page = string.replace( page, "ja:Makeup", "ja:അണിഞ്ഞൊരുങ്ങല്")
page = string.replace( page, "ja:Elephants", "ja:ആനകള്")
page = string.replace( page, "ja:English Derivative[s]*", "ja:ഇംഗ്ലീഷ് ഭാഷയില്നിന്നു രൂപപ്പെട്ട പദങ്ങള്")
page = string.replace( page, "ja:Organic Chemistry", "ja:ഓര്ഗാനിക് രസതന്ത്രം")
page = string.replace( page, "ja:Seas", "ja:സമുദ്രങ്ങള്")
page = string.replace( page, "ja:Oceans", "ഉച്ചാരണം")
page = string.replace( page, "ja:Computer Science", "ja:കമ്പ്യൂട്ടര് ശാസ്ത്രം")
page = string.replace( page, "ja:Fruits", "ja:കായ്കനികള്")
page = string.replace( page, "ja:Fungus", "ja:കുമിളുകള്")
page = string.replace( page, "ja:Fungi", "ja:കുമിളുകള്")
page = string.replace( page, "ja:Plants", "ja:ചെടികള്")
page = string.replace( page, "ja:Biochemistry", "ja:ജൈവരസതന്ത്രം")
page = string.replace( page, "ja:Biology", "ja:ജൈവശാസ്ത്രം")
page = string.replace( page, "ja:Nationality", "ja:ദേശീയത")
page = string.replace( page, "ja:Islands", "ja:ദ്വീപുകള്")
page = string.replace( page, "ja:Rivers", "ja:നദികള്")
page = string.replace( page, "ja:Vegetables", "ja:പച്ചക്കറികള്")
page = string.replace( page, "ja:Languages", "ja:ഭാഷകള്")
page = string.replace( page, "ja:Food", "ja:ഭക്ഷണം")
page = string.replace( page, "ja:Continents", "ja:ഭൂഖണ്ഡങ്ങള്")
page = string.replace( page, "ja:Physics", "ja:ഭൗതികശാസ്ത്രം")
page = string.replace( page, "ja:Sweets", "ja:മധുരപലഹാരങ്ങള്")
page = string.replace( page, "ja:Fish", "ja:മീനുകള്")
page = string.replace( page, "ja:Fishes", "ja:മീനുകള്")
page = string.replace( page, "ja:Chemical elements", "ja:മൂലകങ്ങള്")
page = string.replace( page, "ja:Microbiology", "ja:മൈക്രോബയോളജി")
page = string.replace( page, "ja:Countries", "ja:രാജ്യങ്ങള്")
page = string.replace( page, "ja:Diseases", "ja:രോഗങ്ങള്")
page = string.replace( page, "ja:Alcohols", "ja:ലഹരിപാനീയങ്ങള്")
page = string.replace( page, "ja:Musical Instruments", "ja:വാദ്യോപകരണങ്ങള്")
page = string.replace( page, "ja:Vehicles", "ja:വൈദ്യശാസ്ത്രം")
page = string.replace( page, "ja:Medicine", "ja:വൈദ്യശാസ്ത്രം")
page = string.replace( page, "ja:Medical Science", "ja:വൈദ്യശാസ്ത്രം")
page = string.replace( page, "ja:Mammals", "ja:സസ്തനികള്")
page = string.replace( page, "1000_Japanese_basic_words", "1000 അടിസ്ഥാന ജാപ്പനീസ് പദങ്ങള്")
page = re.sub( "Japanese [nN]?ouns", "ജാപ്പനീസ് നാമങ്ങള്", page)
page = re.sub( "Japanese [Ll]?anguage", "ജാപ്പനീസ് ഭാഷ", page)
page = string.replace( page, "ja:Constellations", "ja:നക്ഷത്രസമൂഹങ്ങള്")
page = string.replace( page, "ja:Mollusks", "ja:ശ്ലേഷ്മോദരപ്രാണികള്")
return page
def main():
wordListFileHandle = open('./words.txt','w')
pagesFileHandle = open('./file.txt','w')
i = 1
#data, wordSearchR = getWordsFromForeignWikiCategory()
data, wordSearchR = getWordsFromForeignWikiAllpages()
for wordPercentageEncoded,word in wordSearchR.findall(data):
print str(i)+' : http://en.wiktionary.org'+wordPercentageEncoded
i=i+1
wordListFileHandle.write('*[['+word+']]\n')
#page = getPageContentsFromForeignWiki(wordPercentageEncoded)
page = getPageContentsFromForeignWiki(wordPercentageEncoded)
page = mlAutoTranslate(page)
pagesFileHandle.write('{{-start-}}<!--\'\'\''+word+'\'\'\'-->\n')
#pagesFileHandle.write(page.encode('utf-8'))
pagesFileHandle.write(page)
pagesFileHandle.write('{{-stop-}}\n')
if __name__ == "__main__":
try:
main()
finally:
print ""