Iniciar sesión Registro
Anuncios
Tu espacio publicitario
Reserva este slot exclusivo para el periodo elegido.
Comprar publicidad →
Logotipo de la comunidad de telegram - MarkeTech
Añadido 14 jul. 2024

MarkeTech

@MarkeTech
Número de suscriptores: 2 011
Fotos: 11
Enlaces: 101
Descripción:
Особистий канал @iosiuk про застосування сучасних технологій в маркетингу. Автор: @iosiuk Мій канал про web-аналітику: @WebAnalyst
Fuente

MarkeTech | Python скрипт для швидкого отримання даних по трафіку для списку домен...

Logotipo de la comunidad de telegram - MarkeTech MarkeTech @MarkeTech
2 440 Vistas/Alcance 2023-10-11 06:25 Mensaje №119
Python скрипт для швидкого отримання даних по трафіку для списку доменів через Ahrefs api.Як користуватись:1. Створюєте собі папочку щоб було красиво, придумуєте неймінг який вам до душі.2. В цій папці створюєте файлик з улюбленим неймінгом та розширенням .py3. Створюте файлик urls.txt в який будете закидувати домени для перевірки.4. Запускаєте свій скрипт.5. Забираєте дані з файлика output.csv який створився у вашій папці.Якщо після цих пояснень незрозуміло, що і як працює тоді раджу пройти курс Python for SEO. Рекомендую з власного досвіду, бо навіть 5 уроків, які я пройшов, більш, ніж достатньо щоб зрозуміти основні принципи й використовувати Python для прискорення вирішення SEO-шних задач.import csvimport aiohttpimport asyncioAPI_ENDPOINT = "https://apiv2.ahrefs.com"API_TOKEN = "ваш-API-ключ"async def fetch_url_traffic(session, url): params = { "token": API_TOKEN, "target": url, "from": "positions_metrics", "mode": "subdomains", "limit": 1000, "output": "json" } async with session.get(API_ENDPOINT, params=params) as response: data = await response.json() traffic = data.get('metrics', {}).get('traffic', 0) return url, traffic params = { "token": API_TOKEN, "target": url, "from": "pages", "mode": "exact", "limit": 1, "output": "json" } async with session.get(API_ENDPOINT, params=params) as response: data = await response.json() traffic = data.get('pages', [{}])[0].get('traffic', 0) return url, trafficasync def main(urls): async with aiohttp.ClientSession() as session: tasks = [fetch_url_traffic(session, url) for url in urls] results = await asyncio.gather(*tasks) return resultsif __name__ == "__main__": with open("urls.txt", "r") as f: urls = [line.strip() for line in f.readlines()] loop = asyncio.get_event_loop() url_traffic_data = loop.run_until_complete(main(urls)) with open("output.csv", "w", newline="") as csvfile: writer = csv.writer(csvfile) writer.writerow(["url", "traffic"]) writer.writerows(url_traffic_data)