സഹായം:ഉപകരണങ്ങൾ/wiktGet.py

വിക്കിനിഘണ്ടു സംരംഭത്തിൽ നിന്ന്
< സഹായം:ഉപകരണങ്ങൾ(ഉപയോക്താവ്:Jacob.jose/wiktGet.py എന്ന താളിൽ നിന്നും തിരിച്ചുവിട്ടതു പ്രകാരം)
Jump to navigation Jump to search
# wiktGet.py
#
# Crude, unorganized version
#
import urllib2
import re
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 = wordPercentageEncoded.replace( "/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 = page.replace( "Katakana character", "കട്ടക്കാനാ പദം") 
    page = page.replace( "Related terms", "ബന്ധപ്പെട്ട പദങ്ങൾ") 
    page = page.replace( "Category:", "വിഭാഗം:") 
    page = re.sub( "=\s*Adjective\s*=", "=നാമവിശേഷണം=", page) 
    page = re.sub( "=\s*Adverb\s*=", "=ക്രിയാവിശേഷണം=", page) 
    page = page.replace( "Etymology", "പദത്തിന്റെ ഉദ്ഭവം") 
    page = page.replace( "Derived terms", "ഈ പദത്തിൽനിന്നുദ്ഭവിച്ച പദങ്ങൾ") 
    page = page.replace( "Synonyms", "പര്യായപദങ്ങൾ") 
    page = page.replace( "Proper noun", "സംജ്ഞാനാമം") 
    page = page.replace( "|proper noun", "|സംജ്ഞാനാമം") 
    page = page.replace( "|proper", "|സംജ്ഞാനാമം") 
    page = page.replace( "|noun", "|നാമം") 
    page = page.replace( "See also", "ഇതും കാണുക") 
    page = page.replace( "Pronunciation", "ഉച്ചാരണം") 
    page = page.replace( "Alternative spellings", "മറ്റു സ്പെല്ലിംഗുകൾ") 
    page = page.replace( "ja:Basic Elements", "ja:അടിസ്ഥാന കണങ്ങൾ") 
    page = page.replace( "ja:Amino Acids", "ja:അമിനോ അമ്ലങ്ങൾ") 
    page = page.replace( "ja:Makeup", "ja:അണിഞ്ഞൊരുങ്ങൽ") 
    page = page.replace( "ja:Elephants", "ja:ആനകൾ") 
    page = page.replace( "ja:English Derivative[s]*", "ja:ഇംഗ്ലീഷ് ഭാഷയിൽനിന്നു രൂപപ്പെട്ട പദങ്ങൾ") 
    page = page.replace( "ja:Organic Chemistry", "ja:ഓർഗാനിക് രസതന്ത്രം") 
    page = page.replace( "ja:Seas", "ja:സമുദ്രങ്ങൾ‍") 
    page = page.replace( "ja:Oceans", "ഉച്ചാരണം") 
    page = page.replace( "ja:Computer Science", "ja:കമ്പ്യൂട്ടർ ശാസ്ത്രം") 
    page = page.replace( "ja:Fruits", "ja:കായ്കനികൾ‍") 
    page = page.replace( "ja:Fungus", "ja:കുമിളുകൾ") 
    page = page.replace( "ja:Fungi", "ja:കുമിളുകൾ") 
    page = page.replace( "ja:Plants", "ja:ചെടികൾ") 
    page = page.replace( "ja:Biochemistry", "ja:ജൈവരസതന്ത്രം") 
    page = page.replace( "ja:Biology", "ja:ജൈവശാ‍സ്ത്രം") 
    page = page.replace( "ja:Nationality", "ja:ദേശീയത") 
    page = page.replace( "ja:Islands", "ja:ദ്വീപുകൾ") 
    page = page.replace( "ja:Rivers", "ja:നദികൾ") 
    page = page.replace( "ja:Vegetables", "ja:പച്ചക്കറികൾ") 
    page = page.replace( "ja:Languages", "ja:ഭാഷകൾ") 
    page = page.replace( "ja:Food", "ja:ഭക്ഷണം") 
    page = page.replace( "ja:Continents", "ja:ഭൂഖണ്ഡങ്ങൾ") 
    page = page.replace( "ja:Physics", "ja:ഭൗതികശാസ്ത്രം") 
    page = page.replace( "ja:Sweets", "ja:മധുരപലഹാരങ്ങൾ") 
    page = page.replace( "ja:Fish", "ja:മീനുകൾ") 
    page = page.replace( "ja:Fishes", "ja:മീനുകൾ") 
    page = page.replace( "ja:Chemical elements", "ja:മൂലകങ്ങൾ") 
    page = page.replace( "ja:Microbiology", "ja:മൈക്രോബയോളജി") 
    page = page.replace( "ja:Countries", "ja:രാജ്യങ്ങൾ") 
    page = page.replace( "ja:Diseases", "ja:രോഗങ്ങൾ") 
    page = page.replace( "ja:Alcohols", "ja:ലഹരിപാനീയങ്ങൾ") 
    page = page.replace( "ja:Musical Instruments", "ja:വാദ്യോപകരണങ്ങൾ") 
    page = page.replace( "ja:Vehicles", "ja:വൈദ്യശാസ്ത്രം‍") 
    page = page.replace( "ja:Medicine", "ja:വൈദ്യശാസ്ത്രം") 
    page = page.replace( "ja:Medical Science", "ja:വൈദ്യശാസ്ത്രം") 
    page = page.replace( "ja:Mammals", "ja:സസ്തനികൾ") 
    page = page.replace( "1000_Japanese_basic_words", "1000 അടിസ്ഥാന ജാപ്പനീസ് പദങ്ങൾ‍") 
    page = re.sub( "Japanese [nN]ouns", "ജാപ്പനീസ് നാമങ്ങൾ", page) 
    page = re.sub( "Japanese [Ll]anguage", "ജാപ്പനീസ് ഭാഷ‍", page) 
    page = page.replace( "ja:Constellations", "ja:നക്ഷത്രസമൂഹങ്ങൾ") 
    page = page.replace( "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+=1
        print >> wordListFileHandle, '*[['+word+']]'
        #page = getPageContentsFromForeignWiki(wordPercentageEncoded)
        page = getPageContentsFromForeignWiki(wordPercentageEncoded)
	page = mlAutoTranslate(page)
	print >> pagesFileHandle, '{{-start-}}<!--\'\'\''+word+'\'\'\'-->'
	#pagesFileHandle.write(page.encode('utf-8'))
	pagesFileHandle.write(page)
	print >> pagesFileHandle, '{{-stop-}}'

if __name__ == "__main__":
    try:
        main()
    finally:
        print ""
"https://ml.wiktionary.org/w/index.php?title=സഹായം:ഉപകരണങ്ങൾ/wiktGet.py&oldid=196817" എന്ന താളിൽനിന്ന് ശേഖരിച്ചത്