Публикация в X (Twitter) из текстового файла

В текстовом файле содержатся строки формата заголовок::ссылка. Данные извлекаются в список и публикуются в X. Дополнительно находятся английские слова для формирования набора тегов. Используется библиотека Tweepy.

Язык программирования — Python. Код с комментариями ниже.

import tweepy
import re
import time

API_KEY = "GzgrHsNQf*******"  # данные для авторизации в твиттер
API_SECRET_KEY = "ZR05vJZBe2IWRnkTPAaHzk*******"
ACCESS_TOKEN = "256622511-kYOQpVjELwWFRFHqZh******"
ACCESS_TOKEN_SECRET = "yukoHRb63OETtTzYHYEpkFuKP****"

client_tw = tweepy.Client(
    consumer_key=API_KEY, consumer_secret=API_SECRET_KEY,
    access_token=ACCESS_TOKEN, access_token_secret=ACCESS_TOKEN_SECRET, wait_on_rate_limit=True
)

reg = re.compile('[^a-zA-Z0-9 ]') #набор для поиска английских слов

for k in range(100): # учитываем лимит сайта на публикацию
        print(k)
        with open(f"old_book.txt", encoding="utf-8") as file:  # извлекаем содержимое файла в список и получаем данные
                src = file.read().split('\n')

        title, url =  src.pop(0).split('::')

        with open(f"old_book.txt", "w", encoding="utf-8") as file:   # обновляем файл
                file.write("\n".join(map(str, src)))

        tw_teg = []   # дополнительно перебираем заголовок для поиска тегов
        for i in title.split():
                if len(i) > 2:
                        if 'a' <= i[0].lower() <= "z":
                                i = reg.sub('', i)
                                i = '#' + i
                                tw_teg.append(i)
        ch_n = '\n'   # подготавливаем текст и публикуем
        tw_teg = list(set(tw_teg))
        tw_teg = ' '.join(tw_teg)
        tw_message = f'{title}.{ch_n}{ch_n}{url}{ch_n}{ch_n}{tw_teg}'

        response = client_tw.create_tweet(
                text = tw_message
                )
        print(f"https://twitter.com/user/status/{response.data['id']}")

        time.sleep(120)


Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: