Параметры:
- user_id (int) - айди пользователя
- is_ava (bool) - есть ли аватарка у пользователя
- created_time (str) - время и дата создания аккаунта
- description (str) - описание аккаунта
- followers_count (int) - число подписчиков
- following_count (int) - число подписок
- pinned_post_id (str) - айди закрепленного твита. Если такого нет, None
- pinned_post (Post) - информация о закрепленном твите
Параметры:
- url (str) - ссылка на пост
- created_time (str) - время и дата публикации поста
- likes_count (int) - число лайков на посте
- retweet_count (int) - число ретвитов на посте
- comment_count (int) - число комментов на посте
- text (str) - текст поста
- hashtags (list) - список хештегов поста
- is_picture (bool) - есть ли картинка в посте
- is_retweet (bool) - ретвит или нет
Аргументы:
- username - имя пользователя
- dict_view - если указано True, возвращает информацию в виде словаря
Возвращает:
- Объект Profile (см. выше) или словарь, если указано dict_view=True
Аргументы:
- user_id - айди пользователя
- max_count - максимальное кол-во постов
- dict_view - если указано True, возвращает информацию в виде словаря
Возвращает:
- Список с объектами Post (см. выше) или словарь, если указано dict_view=True
Аргументы:
- username - имя пользователя
- max_count - максимальное кол-во постов
Возвращает:
- Словарь с информацией о пользователе и постами
from twitter_parser import Twitter_parser
parser = Twitter_parser()
data = parser.retrieve_by_username('advOrrie007', max_count=10)
print(data['user']['description'])
for post in data['posts']:
post_text = post['text']
if 'h' in post_text:
print(post['url'])
from twitter_parser import Twitter_parser
parser = Twitter_parser()
user = parser.account_from_username('advOrrie007')
print(user.description)
print(user.followers_count)
print(user.following_count)
from twitter_parser.twitter import Twitter_parser
parser = Twitter_parser()
url = 'https://twitter.com/mnogodene/status/1466015032215543809'
data = parser.get_post_info(url, dict_view=True)
print(data)
-
Функция account_from_username() Тут ничего сложного. Просто делает запрос в твиттер, получает json объект. Потом парсит этот объект, и нужные данные запихивает в класс Profile (см. выше) Потом возвращает этот класс, если dict_view=False, или с помощью функции dict_from_class делает из класса питоновский словарь и возвращает его.
-
Функция get_post_info() Возвращает информацию о посте по ссылке.
-
Функция get_posts() Тут уже посложнее.
Нужно понимать, что выдача твиттера работает так: a) мы делаем запрос.
твиттер выдаёт первые 100 постов твиттер выдаёт ключ для следующего сбора b) мы делаем запрос используя полученный ключ твиттер выдаёт ещё 100 постов выдаёт ещё ключ .. И так далее... И в один момент твиттер просто не выдаёт постов, это значит что все посты уже спарсены
- Функция retrieve_by_username(): Возвращает словарь с данными о пользователе и постами.