Проблема с чисткой твитов с использованием Python - PullRequest
0 голосов
/ 25 августа 2018

Я пытаюсь удалить твиты с одной веб-страницы в течение определенного периода времени.

Для этого я использую эту ссылку, которая выполняет поиск только в указанные сроки:

https://twitter.com/search?f=tweets&q=subwaydstats%20since%3A2016-08-22%20until%3A2018-08-22

Это мой код:

import pandas as pd
import datetime as dt
import urllib.request
from bs4 import BeautifulSoup

url = 'https://twitter.com/search?f=tweets&q=subwaydstats%20since%3A2016-08-22%20until%3A2018-08-22'
thepage = urllib.request.urlopen(url)
soup = BeautifulSoup(driver.page_source,"html.parser")

i = 1
for tweet in soup.find_all('div', {'class': 'js-tweet-text-container'}):
    print(tweet.find('p', {'class': 'TweetTextSize'}).text.encode('UTF-8'))
    print(i)
    i += 1

Приведенный выше код работает, когда я перебираю текущую страницу Twitter для пользователя метрополитена.

По этой причине я не понимаю, почему это не работает для страницы поиска, хотя HTML кажется мне тем же.

Я абсолютный новичок, поэтому извините, если это глупый вопрос. Спасибо!

1 Ответ

0 голосов
/ 25 августа 2018

Существует API Twitter - Документы API поиска в Твиттере: https://developer.twitter.com/en/docs/tweets/search/api-reference/get-search-tweets который использует неофициальную оболочку Python: https://github.com/bear/python-twitter, что позволяет очень легко получать твиты.

Однако, если вы хотите очистить HTML-код, то это намного сложнее. Я делал нечто подобное - чистил угловое приложение, однако фактический HTML-код, который вы видите на экране, фактически отображается с помощью "front-end javascript". Запросы и urllib, только получают базовый HTML, но не запускают JavaScript.

Вы можете использовать selenium , который по сути является браузером, с помощью которого вы можете автоматизировать задачу. Поскольку он ведет себя как браузер, он на самом деле запускает этот интерфейсный javascript, то есть вы сможете очистить веб-страницу.

Отличная статья объясняет, как вы можете очистить твиттер https://medium.com/@dawran6/twitter-scraper-tutorial-with-python-requests-beautifulsoup-and-selenium-part-2-b38d849b07fe

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...