கேள்வி: பியூட்டிபுல் சூப் - செயற்படும் முறை பற்றி நீங்கள் என்ன அறிந்துள்ளீர்கள்?
பதில்: உங்களின் சொற்பிரிப்பியுடன் (parser), இக்கூறகநிரல் இணைந்து, இணையப்பக்கத் தரவுகளினுள், தேவைக்கேற்றபடி உட்செல்லவோ(navigating), தேடவோ, மாற்றவோ இயலும். இந்த அழகுவடிச் சாறின் திறனால், நிரலர்களின் நாட்கணக்கான அல்லது மணிகணக்கான, நிரல் எழுதும் நேரம் வெகுவாகக் குறைகிறது. கீழேகூறப்படுகின்ற விளக்கவுரைகள், அழகுவடிச்சாறின் (Beautiful Soup4) நான்காம் பதிப்புக்குரியதாகும். அதிலும் முக்கியமான உட்கூறுகள் மட்டுமே விளக்கப்படுகின்றன. பொதுவாக இந்த உட்கூறுகளை, செயற்கூறுகள் (functions) என்கிறோம். ஒவ்வொரு செயற்கூறும், வெவ்வேறு விதமாக செயற்படும் இயல்புடையவை ஆகும். அவ்வேறுபாடுகளை அறிந்தால், நமது தரவுப் பிரித்தெடுக்கும் நோக்கம் எளிதாகும். இந்நோக்கத்தில் ஏதேனும் இடர்வரின், அதற்குரிய தீர்வுகளும் விளக்கப்படுகின்றன. பைத்தானின் இருவகைப் பதிப்புகளிலும் (பைத்தான் 2.7, பைத்தான் 3.2), இச்செயற்கூறுகள், எந்த வேறுபாடும் இல்லாமல், ஒரே விதமாகவே செயற்படும் சிறப்பியல்பைப் பெற்றிருக்கின்றன.
கேள்வி: பியூட்டிபுல் சூப் - நிரலாக்க அமைவு பற்றி விளக்கவும்.
பதில்: இந்த எடுத்துக்காட்டு நிரலாக்கம், ஒரு தமிழ்விக்கியின் பகுப்பில் உள்ள கட்டுரைத்தலைப்புகளை, இணையத்தரவு வடித்தல் (web scrape) எடுத்துதவப்பயன்படுகிறது. File:Konsole-Tamil-language-python3-BeautifulSoup-wikipredia.png தமிழ் தெளிவாகத் தெரியும், இந்நிரலாக்க விளைவு|thumb|right]] # -*- coding: utf-8 -*- from bs4 import BeautifulSoup import requests import csv #getting all the contents of a url url = 'https://ta.wikipedia.org/wiki/பகுப்பு:கட்டற்ற மென்பொருட்கள்' #url = 'https://en.wikipedia.org/wiki/Category:Free software‎' content = requests.get(url).content soup = BeautifulSoup(content,'lxml') #to corrects the mistakes of html. #print (soup.prettify) #printing the name of the category heading = soup.title print() print('செயல்-1'+' '+heading.text+' '+'(இதன் துணைப்பகுப்புகளும், பக்கங்களும் நிரலாக்கப்படுகின்றன.)') print() #showing the category-pages only catPageSummaryTag = soup.find(id='mw-pages') if catPageSummaryTag: catPageSummary = catPageSummaryTag.find('p') print() print('செயல்-2'+' '+catPageSummary.text) # getting the cat-pages tag = soup.find(id='mw-pages') links = tag.findAll('a') # giving serial numbers to the output print and limiting the print print ( (இப்பகுப்புப்பக்கங்களில், சில மட்டுமே கீழுள்ளன. ஆனால், முழுமையாக '002-பகுப்புப்பக்கங்கள்.csv'கோப்பில் எழுதப்பட்டுள்ளன.)) counter = 1 for link in links[:3]: print ( +str(counter) + " " + link.text) counter = counter + 1 else: print ( மேற்கூறிய பகுப்பில், எப்பக்கமும் இல்லை. எனவே, '002-பகுப்புப்பக்கங்கள்.csv'கோப்பில் எழுதப்படவில்லை)) #getting the category pages list catpages = soup.find(id='mw-pages') if catpages: whatlinksherelist = catpages.find_all('li') things_to_write = [] for titles in whatlinksherelist: things_to_write.append(titles.find('a').get('title')) #writing the category pages as a output file with open('002-பகுப்புப்பக்கங்கள்.csv', 'w') as csvfile: writer = csv.writer(csvfile,delimiter="\n") writer.writerow(things_to_write) else: print ('எப்பக்கமும் இணைக்கப்படாததால், அடுத்தச் செயலுக்குரிய, CSV கோப்பு உருவாக்கப்படவில்லை.')
கேள்வி: பியூட்டிபுல் சூப் - இப்பக்கத்தையும் காணவும் என்பது என்ன?
பதில்: *எச்.டீ.எம்.எல். பிரிப்பான்களின் ஒப்பீடு (Comparison of HTML parsers)
கேள்வி: பியூட்டிபுல் சூப் - வெளியிணைப்புகள் பற்றி விளக்கவும்.
பதில்: *தமிழ் விக்கிமீடியத்திட்டங்களுள் ஒன்றான விக்கிநூல்களில், நிகழ்பட பாடங்களுடனும், நிழற்படங்களுடனும் வழிகாட்டல் பக்கம் உருவாக்கப்பட்டு வருகிறது பகுப்பு:கட்டற்ற மென்பொருட்கள் பகுப்பு:பைத்தான் நூற்கட்டகங்கள் பகுப்பு:தமிழ்க் கணிமை நிரல் எடுத்துக்காட்டுக்கள் உள்ள கட்டுரைகள்