பயனர்:Info-farmer/temp
உரிமம்: இங்குள்ள பைத்தான் நிரல்கள் அனைத்தும், உரிமத்தில் வெளியிடுகிறேன். எனவே, அனுமதியின்றி பயன்படுத்தலாம். இருப்பினும், பின்னூட்டம் அளியுங்கள். அப்பின்னூட்டம் எனக்கு ஊக்குவிப்பாகவும், என் வழிமுறைகளை மேம்படுத்திக் கொள்ளவும் உதவும். (பிற கட்டற்ற மென்பொருள் உரிமங்களையும் அறிக.)
- மல்லிக்குரிய பைத்தான்3 நிரற்தொகுப்பு / gitlab மாற்றுக
ஒரே ஒரு பிறப்பிட வடிகட்டி
தொகு- பயனாகும் திட்டம்: விக்கிப்பீடியா:விக்கித்திட்டம் தாவரங்கள்
- காண்க : பேச்சு:மல்லிகை_இனங்களின்_பட்டியல்#ஒரே_ஒரு_பிறப்பிட_இனங்கள்
- உயவுத்துணை : [1], [2]
# -*- coding: utf-8 -*-
#இலக்கு: தாவர இனத்தின் வாழிடக்கோப்புகளில் இருந்து, ஒரே ஒரு வாழிடத்தைக் கொண்டுள்ள தாவர இனத்தினைப் பிரித்தல்
#நிரலின் பெயர்: powo-place-single-finder.py
#பயனாகும் திட்டம்: [[விக்கிப்பீடியா:விக்கித்திட்டம் தாவரங்கள்]]
#இலக்கு: தாவர இனத்தின் வாழிடக்கோப்புகளில் இருந்து, ஒரே ஒரு வாழிடத்தைக் கொண்டுள்ள தாவர இனத்தினைப் பிரித்தல்
#நிரலின் பெயர்: powo-place-single-finder.py
import subprocess, time, re
#முதலில் கோப்புரையில் உள்ள வாழிடக்கோப்புகளின் பட்டியலை உருவாக்குகிறேன். பிறகு கீழுள்ள வரியை # குறியீடு போட்டு இயங்கா நிலையாக்குகிறேன்.
#அப்பொழுதுதான் 11வது வரியில் இருந்து, நிரல் இயங்கும்.
#subprocess.call("ls -1 > 0powo-places-files-list.txt",shell=True)
பட்டியல்கோப்பு1 = '0powo-places-files-list.txt'
இறுதிக்கோப்பு1 = பட்டியல்கோப்பு1.replace('files','single1').replace('txt','csv')
இறுதிக்கோப்பு2 = பட்டியல்கோப்பு1.replace('files','single2').replace('txt','csv')
பேரினம் = 'Jasminum '
print(இறுதிக்கோப்பு1)
with open (பட்டியல்கோப்பு1, 'r') as உள்ளீடு1:
உள்ளீடு1தரவு = உள்ளீடு1.readlines()
#print(உள்ளீடு1தரவு)
for கோப்பின்பெயர் in உள்ளீடு1தரவு:
if 'Clean' in கோப்பின்பெயர்:
கோப்பின்பெயர்சுத்தம் = கோப்பின்பெயர்.strip()
print(கோப்பின்பெயர்)
#time.sleep(10)#முனையத்தில் வாசிக்க ஏதுவாக அமைத்துள்ளேன்.
#எடுத்த கோப்பினுள் உள்ள ஒவ்வொரு இடத்திற்கும் முன்னுமுள்ள [[ குறியீடுகளை எண்ணுவதன் மூலம்,
##மொத்தம் எத்தனை இடங்கள் உள்ளன என எண்ணுகிறேன்
#எடுத்த கோப்பினுள் உள்ள ஒவ்வொரு இடத்திற்கும் முன்னுமுள்ள [[ குறியீடுகளை எண்ணுவதன் மூலம்,
##மொத்தம் எத்தனை இடங்கள் உள்ளன என எண்ணுகிறேன்
with open (கோப்பின்பெயர்சுத்தம்,'r') as உள்ளீடு2:
உள்ளீடு2தரவு = உள்ளீடு2.readlines()
for வரி in உள்ளீடு2தரவு:
print('ஒரு வாழிடம் உள்ளது.')
if 'பிறப்பிடம்' in வரி:
if not ',' in வரி:
வாழிடம்1 = வரி.split('பிறப்பிடம்')[1].replace(':','').replace('.','').replace(']]','').strip()
வாழிடம்2 = re.sub('[A-Za-z]', '', வாழிடம்1)
#ஆங்கில விக்கியின் இணைப்பினை தமிழில் கொடுக்க மாற்றுகிறேன்
வரிமாற்றம்1 = வரி.split('பிறப்பிடம்')[1].replace(':','').replace('.','').strip()
வரிமாற்றம்2 = வரிமாற்றம்1.replace('[[','[[:en:')
print(வரிமாற்றம்1)
print(வரிமாற்றம்2)
print(வாழிடம்2)
#அடுத்த கட்ட நிரலாக்கத்திற்கு உருவாக்குகிறேன்
இனம் = கோப்பின்பெயர்சுத்தம்.split('-')[0]
தாவரவியல்பெயர் = பேரினம் + இனம்
with open (இறுதிக்கோப்பு1, 'a') as வெளியீடு1:
ஓரேஒருவாழிடதரவு = தாவரவியல்பெயர் + '~' + வரிமாற்றம்1 + '~' + வரிமாற்றம்2 + '~' + கோப்பின்பெயர்சுத்தம்
print(ஓரேஒருவாழிடதரவு)
வெளியீடு1தரவு = வெளியீடு1.write(ஓரேஒருவாழிடதரவு + '\n')
#தமிழ் விக்கிப்பீடியாவில் ஒட்ட உருவாக்குகிறேன்
with open (இறுதிக்கோப்பு2, 'a') as வெளியீடு2:
ஓரேஒருவாழிடதரவு = '#' +தாவரவியல்பெயர் + '~' + வரிமாற்றம்1 #+ '~' + வரிமாற்றம்2
print(ஓரேஒருவாழிடதரவு)
வெளியீடுதரவு = வெளியீடு2.write(ஓரேஒருவாழிடதரவு + '\n')
else:
print('வாழிடங்கள் பல உள்ளன.')
#break
தாவரவியலாளர்
தொகு# -*- coding: utf-8 -*-
import csv, time
#இலக்கு: இந்த நிரல் தாவர கட்டுரைப்பட்டியலில் இருந்து, ஒவ்வொரு கட்டுரையிலும் உள்ள தாவரவியலாளர் பெயரினை எடுக்கும்.
##ஒரு கட்டுரையில் உள்ள அனைத்து தாவரவியலாளர்களின் பெயரை எடுக்காது. ஒரே ஒரு பெயரை மட்டும் எடுக்கும்.
#நிரலின் பெயர்: separateBotanist.py
உட்கோப்பு1 = 'source.csv'
இறுதிகோப்பு1 = 'source-box-botanist.csv'
இறுதிகோப்பு2 = 'source-box-botanist-no.csv'
இறுதிகோப்பு3 = 'source-nobox.csv'
with open (உட்கோப்பு1, 'r') as உள்ளீடு1:
உள்ளீடு1தரவு = csv.reader(உள்ளீடு1,delimiter='~')
for வரி in உள்ளீடு1தரவு:
if 'பெட்டியுள்ளது' in வரி:
if 'அறிஞருள்ளார்' in வரி:
கட்டுரைப்பெயர் = வரி[0]
பெட்டியுள்ளது = வரி[1]
அறிஞருள்ளார் = வரி[2]
அறிஞர்குறிப்பு = வரி[3]
தலைப்பு = '#[[' + கட்டுரைப்பெயர் + ']]'
print(வரி)
print(கட்டுரைப்பெயர்)
time.sleep(0)
with open (இறுதிகோப்பு1, 'a') as வெளியீடு1:
ஒட்டுதரவு = தலைப்பு + '~' + பெட்டியுள்ளது + '~' + அறிஞருள்ளார் + '~' + அறிஞர்குறிப்பு + '\n'
வெளியீடு1.write(ஒட்டுதரவு)
elif 'அறிஞரில்லை' in வரி:
கட்டுரைப்பெயர் = வரி[0]
பெட்டியுள்ளது = வரி[1]
அறிஞரில்லை = வரி[2]
தலைப்பு = '#[[' + கட்டுரைப்பெயர் + ']]'
print(வரி)
print(கட்டுரைப்பெயர்)
with open (இறுதிகோப்பு2, 'a') as வெளியீடு2:
ஒட்டுதரவு = தலைப்பு + '~' + பெட்டியுள்ளது + '~' + அறிஞரில்லை + '\n'
வெளியீடு2.write(ஒட்டுதரவு)
else:
print('பெட்டியில்லை')
கட்டுரைப்பெயர் = வரி[0]
பெட்டியில்லை = வரி[1]
ஒட்டுதரவு = தலைப்பு + '~' + அறிஞரில்லை + '\n'
with open (இறுதிகோப்பு3, 'a') as வெளியீடு3:
ஒட்டுதரவு = தலைப்பு + '~' + பெட்டியில்லை + '\n'
வெளியீடு3.write(ஒட்டுதரவு)
சான்று-வருடம் மாதம் நாள்
தொகு# -*- coding: utf-8 -*-
#இலக்கு: சான்றுகளில் தானியக்கமாக வருடம், மாதம், நாள் இட பயனாகும்.
#நிரலின் பெயர்: பைத்தான்3 துணைநிரல்
import datetime
#இன்றையதேதி = date '+%d %m %Y' #முனையத்தில் தோன்ற இடும் கட்டளை
இன்றையதேதி = datetime.date.today()
இன்றையதேதிசரம் = இன்றையதேதி.strftime('%Y-%m-%d').replace('-', ' ').replace('11', 'நவம்பர்')
விக்கியிணை இணைப்புகள்
தொகு- இதுபோல தமிழ் கட்டுரைகளுக்கு இணைப்பு தர, python3-bs4 கொண்டு எழுதுக. (apt-get install python3-bs4, mw:Manual:Pywikibot/interwiki.py)
- குறிப்புகள்:Andaman Is. --> Andaman Islands,
# -*- coding: utf-8 -*-
#இலக்கு:
#நிரலின் பெயர்:
இப்பக்கத்தை இணைந்தவை
தொகு- இன்று சோதனைக்காக விக்கிப்பீடியா:விக்கிதானுலவி ---> விக்கிப்பீடியா:விக்கிதானுலாவி என பெயர்மாற்றச் சூழ்நிலைக்காக எழுதினேன். பிற கட்டுரைகளுக்கு ஏற்ப மாற்றங்கள் செய்து கொள்ளவும் அல்லது உங்களது தேவையை பேச்சுப்பக்கத்தில் தெரியப்படுத்தவும். த♥உழவன் (உரை) 02:38, 22 திசம்பர் 2023 (UTC)
#!/usr/bin/env python
# -*- குறியாக்கமுறைமை: utf-8 -*-
from bs4 import BeautifulSoup
import requests, time, re, pywikibot
import itertools
#நோக்கம்: தேவையான பக்கப்பெயர்களை, 'இப்பக்கத்தை இணைந்தவை' எடுத்துத் தரும்.
#முதலில் சமூக ஒப்புதலோடு புதுப்பெயரினை பெறுக. ஒருமுறை மாற்றம் செய்யவிருக்கும், பக்கப்பெயர்களை சரிபார்க்கவும். ஏனெனில், பக்கப்பெயர்களில் பிழை இருக்க வாய்ப்புண்டு. பக்கப்பெயர் தவறெனில் இயக்கத்தினை நிறுத்துக. எனவே, ஒவ்வொரு பக்கப்பெயரினையும் சரிபார்த்த பிறகு நிரலை இயக்குக. ஓடும் நிரல் இயங்கி, பழைய பெயரை தானாக நீக்கி, புதுப்பெயரை இடும். இப்புதுப்பெயர் மாற்றம் நின்ற பிறகு, பழைய பெயர் கட்டுரையை புதுப்பெயருக்கு வழிமாற்று இன்றி நீக்குங்கள்.
தேடு1 = 'விக்கிப்பீடியா:விக்கிதானுலவி' #'மிசூரி'
மாற்றிடு1 = 'விக்கிப்பீடியா:விக்கிதானுலாவி' #'மிசோரி'
இறுதிகோப்பு1 = 'wp-ta-whatlinks-Pages.txt'
கோடிடு = '------------------------------'
இணைப்புகள்உரலி = u'https://ta.wikipedia.org/w/index.php?title=special:WhatLinksHere/' + தேடு1.replace(' ', '_')
print(கோடிடு)
print (இணைப்புகள்உரலி)
print(கோடிடு)
#getting the book's content for the bs4
இணைப்புகள்உரலிஉள்ளடக்கம் = requests.get(இணைப்புகள்உரலி).content
#getting the content with clean html tags
இணைப்புகள்உரலிசாறு = BeautifulSoup(இணைப்புகள்உரலிஉள்ளடக்கம்,'lxml')
#getting content that we need
இணைக்கப்பட்டபக்கங்கள் = இணைப்புகள்உரலிசாறு.find(id='mw-whatlinkshere-list')
இணைக்கப்பட்டபக்கங்கள்பட்டி = இணைக்கப்பட்டபக்கங்கள்.findAll('a')
print('இணைக்கப்பட்டபக்கங்கள்பட்டி')
print(கோடிடு)
#print(type(இணைக்கப்பட்டபக்கங்கள்பட்டி))
print('மொத்தம் ' + str(len(இணைக்கப்பட்டபக்கங்கள்பட்டி)) + ' தரவு வரிகள் உள்ளன.\n அதிலிருந்து பக்கப்பெயர்களை எடுக்கிறேன்.')
print(கோடிடு)
time.sleep(5)
புதுப்பட்டி = []
for வரி in இணைக்கப்பட்டபக்கங்கள்பட்டி:
#print(வரி)
if not '← இணைப்புக்கள்' in வரி:
if not 'தொகு' in வரி:
தலைப்பு = str(வரி).split('">')[1].replace('</a>','').replace('பயனர்:','பயனர் பேச்சு:').strip()
if '/' in தலைப்பு:
தலைப்புபிரி = தலைப்பு.split('/')[0]
#print(தலைப்புபிரி)
#time.sleep(1)
#பெறப்படும் சரத்தைக்(str) கொண்டு, புதுப்பட்டியை(new list) உருவாக்குகிறேன்
#https://www.geeksforgeeks.org/python-append-string-to-list/
புதுப்பட்டி = list(itertools.chain(புதுப்பட்டி, [தலைப்புபிரி]))
#print(புதுப்பட்டி)
if not '/' in தலைப்பு:
#print(தலைப்பு)
#time.sleep(1)
புதுப்பட்டி = list(itertools.chain(புதுப்பட்டி, [தலைப்பு]))
#print(புதுப்பட்டி)
# set() பயன்படுத்தி பெறப்பட்ட பட்டியில், இருமுறையுள்ள பக்கப்பெயர்களை நீக்குகிறேன்
#https://www.geeksforgeeks.org/python-ways-to-remove-duplicates-from-list/
புதுப்பட்டி = list(set(புதுப்பட்டி))
#புதுப்பட்டியில் இருந்து, ஒவ்வொரு பக்கப்பெயரினை எடுக்கிறேன்
print(len(புதுப்பட்டி))
print('மொத்தம் ' + str(len(புதுப்பட்டி)) + ' பக்கப்பெயர்கள் உள்ளன.')
print(கோடிடு)
வரிசையெண் = 0
for பக்கப்பெயர் in புதுப்பட்டி:
வரிசையெண் = வரிசையெண் + 1
print(str(வரிசையெண்)+ ' ' + பக்கப்பெயர்)
print(கோடிடு)
time.sleep(1)
with open(இறுதிகோப்பு1, 'a') as வெளியீடு1:
வெளியீடு1.write(பக்கப்பெயர் + '\n')