Создание скрипта для доступа к публичным данным Twitter без аутентификации - PullRequest
0 голосов
/ 22 мая 2018

Я хотел бы написать скрипт на Python для чтения публичного профиля в Twitter.В частности, я хотел бы проверить твиты с изображениями и загрузить эти изображения (в конце концов, я хотел бы добавить это как задание cron).Я искал tweepy в качестве оболочки API Twitter.Однако, насколько я понимаю, API Twitter требует аутентификации даже для действий, которые обращаются к общедоступным данным - это правильно?

Поскольку все, что мне нужно, это получить доступ к единой общедоступной временной шкале пользователя, проходя через проверку подлинности (а затем наличие этих учетных данных на моем компьютере, я не уверен, насколько безопасна форма), кажется немного излишним.

Существуют ли другие решения (особенно основанные на Python) для чтения общедоступных данных Twitter?

Ответы [ 2 ]

0 голосов
/ 22 мая 2018

Да, Twitter требует аутентификации для доступа к любым публичным / личным данным пользователя.Вам нужно создать приложение в Twitter для доступа к данным.Приложение должно контролировать количество запросов и т. Д., Сделанных конкретным клиентом, чтобы предотвратить любые злоупотребления.Эта аутентификация является общим процессом, которому следуют и другие провайдеры API, и это единственный рекомендуемый способ.

Еще одним преимуществом создания приложения для Twitter является то, что другие пользователи могут дать разрешения вашему приложению, а затем вы можете получить доступ к их личным данным, таким как DM и т. Д.

Другим подходом является веб-я бы посчитал это неэтичным, поскольку твиттер уже предоставляет свой API.Кроме того, вам нужно будет обновлять скрипт очистки каждый раз, когда разработчики Twitter изменяют внешний интерфейс.

0 голосов
/ 22 мая 2018

Вы всегда можете создать свой собственный скребок данных.BeautifulSoup является популярным.Например что-то вроде этого:

from urllib.request import urlopen

html = urlopen('https://twitter.com/Microsoft')
soup = BeautifulSoup(html.read(),'html.parser');
print(soup)

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.1//EN" "http://www.openmobilealliance.org/tech/DTD/xhtml-mobile11.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta content="True" name="HandheldFriendly"/> ......................
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...