Tá an próiseas scríobtha sonraí ó chainéil Telegram ag brath ar bhailiú uathoibríoch faisnéise, cibé acu ó ghrúpaí poiblí nó ó phobail phríobháideacha. Le Python agus an leabharlann Telethon, is féidir teachtaireachtaí, meiteashonraí, comhaid mheán, baill ghrúpa, agus i bhfad níos mó a fháil.
Is féidir sonraí a scríobadh ó Telegram ar chúiseanna éagsúla, lena n-áirítear staidéar mionsonraithe ar mhargaíocht, anailís ábhair, nó monatóireacht a dhéanamh ar shnáitheanna díospóireachta i bpobal.
Tá treoir mhionsonraithe thíos ar conas sonraí a bhaint as Telegram ag úsáid Python.
Mar sin, cad é an chéad chéim i scríobadh Telegram? Caithfear an timpeallacht Python a chur ar bun in éineacht leis na leabharlanna cuí. Is é príomh-uirlis API scríobtha Telegram ná Telethon – leabharlann asíncrónach a cheadaíonn idirghníomhú leis an ardán.
Úsáid an t-ordú seo chun é a shuiteáil:
pip install telethon
Sula n-úsáidtear an API scríobtha Telegram, caithfear d’aitheantas API pearsanta (API ID) agus Hash a fháil.
Nuair atá do API ID agus Hash agat, is féidir seisiún a chruthú chun logáil isteach sa chuntas.
Tábhachtach! Agus tú ag scríobh script scríobtha Telegram, ná tabhair an t-ainm telethon.py ar an gcomhad, mar beidh Python ag iarraidh TelegramClient a iompórtáil agus teipfidh air mar gheall ar an gcoimhlint ainmneach.
Chun logáil isteach i do chuntas, scríobh ar dtús:
from telethon import TelegramClient
api_id = 12345678
api_hash = '0123456789abcdef0123456789abcdef'
with TelegramClient('anon', api_id, api_hash) as client:
client.loop.run_until_complete(client.send_message('me', 'hello'))
Sa chéad líne, allmhairímid ainm na haicme chun sampla den aicme a chruthú. Ansin sainmhínímid athróga chun ár API agus hash a stóráil.
Ina dhiaidh sin, cruthaímid sampla nua de TelegramClient agus tugaimid client air. Anois is féidir leat an t-athróg client a úsáid le haghaidh rud ar bith, mar shampla teachtaireacht a sheoladh chugat féin.
Sula ndéantar scríobadh sonraí ó chainéil Telegram, caithfear an fhoinse sonraí atá le bailiú a aithint. Laistigh den ardán, tá dhá phríomhtheideal pobail ann: cainéil agus grúpaí.
Más gá duit rochtain a fháil ar chainéal nó ar ghrúpa príobháideach, caithfidh tú a bheith i do bhall de. Tá srianta áirithe ar roinnt pobal, nó teastaíonn cuireadh, agus caithfear na fadhbanna seo a chur san áireamh sula dtosaítear ar shonraí a scríobadh ó chainéal Telegram.
Féach sampla ar conas cainéal nó grúpa a roghnú le dul isteach ann agus scríobadh a dhéanamh ar bhaill chainéil Telegram agus sonraí eile:
from telethon import TelegramClient
api_id = 12345678
api_hash = '0123456789abcdef0123456789abcdef'
client = TelegramClient('anon', api_id, api_hash)
async def main():
me = await client.get_me()
username = me.username
print(username)
print(me.phone)
async for dialog in client.iter_dialogs():
print(dialog.name, 'has ID - ', dialog.id)
with client:
client.loop.run_until_complete(main())
Taispeánann sé seo conas logáil isteach agus rochtain áirithe a fháil i dtaca le do chuntas, lena n-áirítear gach comhrá ina bhfuil na haitheantais (IDanna) atá ríthábhachtach chun comhéadan a dhéanamh leis an gcainéal nó leis an ngrúpa atá uait.
Nuair a shocraítear nasc leis an API, tugtar saoirse duit teachtaireachtaí a bhailiú atá ábhartha don chainéal nó don ghrúpa a roghnaíonn tú. Le scríobadh Telegram trí Python, is féidir líon mór teachtaireachtaí téacs, stampaí ama, meáin agus fiú meiteashonraí faoi rannpháirtithe a fháil.
Seo sampla ar conas é sin a dhéanamh:
from telethon import TelegramClient
api_id = 12345678
api_hash = '0123456789abcdef0123456789abcdef'
client = TelegramClient('anon', api_id, api_hash)
async def main():
id_client = 32987309847
object = await client.get_entity(id_client)
print(object.title)
print(object.date)
if object.photo: # Seiceáil an bhfuil grianghraf próifíle ann
await client.download_profile_photo(object, file="profile.jpg")
# Priontáil gach teachtaireacht comhrá
async for message in client.iter_messages(id_client):
print(f'{message.id}//{message.date} // {message.text}')
# Sábháil gach grianghraf comhrá
if message.photo:
path = await message.download_media()
print('File saved', path)
with client:
client.loop.run_until_complete(main())
Nuair atá an t-ID riachtanach againn, is féidir linn rochtain a fháil ar na teachtaireachtaí agus ar an meiteashonraí comhfhreagrach den ghrúpa. Ina dhiaidh sin, is féidir eolas mar ainm an ghrúpa, dáta a chruthaithe, avatar (má tá sé ann), teachtaireachtaí agus a n-IDanna le dátaí a bhfoilseacháin a rochtain. Má tá íomhánna sna teachtaireachtaí, is féidir iad a íoslódáil go huathoibríoch le haghaidh próiseála breise.
Nuair atá na paraiméadair go léir socraithe, is féidir script scríobtha Telegram i Python a chur ag obair. Moltar roinnt tástála tosaigh; nuair a ritheann tú an script ar shraith mhór teachtaireachtaí, is dócha go dtiocfaidh fadhbanna chun cinn a gcaithfear iad a réiteach sula dtéitear ar aghaidh le bailiú sonraí ar scála iomlán.
Nuair atá an script á rith agat, bí cinnte cloí leis na treoirlínte seo:
Má thagann aon fhadhbanna chun cinn, is féidir iad a láimhseáil de ghnáth trí sosanna a chur idir iarratais, nó trí dheimhniú go bhfuil an cainéal nó an grúpa fós ar fáil.
Tar éis don bhailiú sonraí bunúsach a bheith uathoibrithe, is féidir feidhmiúlacht an scríobaire a leathnú agus cumais bhailithe sonraí nua a chur leis.
from telethon import TelegramClient
api_id = 12345678
api_hash = '0123456789abcdef0123456789abcdef'
client = TelegramClient('session_name', api_id, api_hash)
async def main():
channel = await client.get_entity(-4552839301)
# Faigh na 100 teachtaireacht dheireanacha ón gcainéal
messages = await client.get_messages(channel, limit=100)
# Scag teachtaireachtaí le heochairfhocail
keyword = 'Hello'
filtered_messages = [msg for msg in messages if keyword.lower() in msg.text.lower()]
for message in filtered_messages:
print(f"Message: {message.text}")
print(f"Date: {message.date}")
print(f"Sender: {message.sender_id}")
# Faigh rannpháirtithe cainéal
participants = await client.get_participants(channel)
for participant in participants:
print(f"Participant ID: {participant.id}, Username: {participant.username}")
with client:
client.loop.run_until_complete(main())
Agus tú ag obair le API Telegram, tá sé ríthábhachtach a choinneáil i gcuimhne go bhfuil teorainn leis an líon glaonna is féidir a dhéanamh laistigh de thréimhse ama áirithe. Má sheoltar an iomarca teachtaireachtaí go leanúnach, cuirfidh an t-ardán srianta ar rochtain ar an API nó laghdóidh sé freagrúlacht an fhreastalaí.
Chun na fadhbanna seo a mhaolú, moltar úsáid a bhaint as seachfhreastalaithe (proxies):
import random
import socks
from telethon import TelegramClient
# Liosta de na seachvótálaithe atá ar fáil
proxy_list = [
("res.proxy-seller.com", 10000, socks.SOCKS5, True, "user1", "pass1"),
("res.proxy-seller.com", 10001, socks.SOCKS5, True, "user2", "pass2"),
("res.proxy-seller.com", 10002, socks.SOCKS5, True, "user3", "pass3"),
]
# Roghnaigh seachvótálaí randamach
proxy = random.choice(proxy_list)
try:
client = TelegramClient('anon', api_id, api_hash, proxy=proxy)
print(f"Successfully connected through proxy: {proxy}")
except (OSError, ConnectionError, TimeoutError, ValueError) as e:
print(f"Proxy error: {e}, trying without it")
client = TelegramClient('anon', api_id, api_hash)
Bhain muid úsáid as slabhraí seachfhreastalaí, áit a n-úsáidtear seachfhreastalaí nua do gach nasc ina dhiaidh sin, agus ar an mbealach sin bunaíodh nasc go héifeachtach. Laghdaíonn an straitéis seo an seans go gcuirfear srianta ar rochtain API scríobtha Telegram, agus seachnaíonn sé teorainneacha ar luas na nasc, rud a chinntíonn go ritheann na scripteanna go hiontaofa.
Is féidir scríobadh Telegram le Python a úsáid i réimse leathan earnálacha, toisc go dtugann an t-ardán rochtain ar chineálacha sonraí uathúla nach bhfuil ar fáil in aon áit eile.
I measc na bpríomhréimsí feidhmithe tá:
Go deimhin, trí úsáid a bhaint as scríobaire chainéil Telegram, is féidir leat na sonraí riachtanacha a fháil go huathoibríoch agus anailís bhreise a shimpliú.
An uair seo, thugamar faoin dúshlán sonraí a scríobadh ó Telegram le Python agus ábhar a bhaint ó phobail roghnaithe. Bhí úsáid seachfhreastalaithe mar chuid lárnach den chur chuige chun cur i bhfeidhm leanúnach a chinntiú. Suiteáladh an leabharlann Telethon, cumasaíodh an API, roghnaíodh na cainéil nó na grúpaí riachtanacha, agus baineadh teachtaireachtaí, meáin agus meiteashonraí amach.
Cuireann scríobadh Telegram le Python ar chumas daoine bailiú sonraí a uathoibriú le haghaidh taighde margaíochta, anailís ábhair, agus fiú monatóireacht ar ghníomhaíocht úsáideoirí. Chun srianta atá curtha i bhfeidhm ag an ardán a sheachaint, is féidir rothlú cuntas a chur i bhfeidhm, chomh maith le seachfhreastalaithe, VPNanna, nó moilleanna dinimiciúla idir iarratais a úsáid. Tá sé riachtanach freisin cloí leis an dlí agus le teorainneacha eiticiúla chun beartais an ardáin a shárú a sheachaint.
Tuairimí: 0