2016-01-30 3 views
0

Я хочу очистить твиты от некоторых сообщений Twitter, которые я использую для этой библиотеки BeautifulSoop. Что я хочу сделать, так это получить исходное сообщение и все ответы, если есть какие-либо ответы (но все они). Мне удалось получить исходный пост, и я написал этот цикл, чтобы получить ответы на все вопросы, но он возвращает мне только первый. Любая помощь пожалуйста спасибо!Beautifulsoup for loop не получает все элементы

from bs4 import BeautifulSoup 
import urllib.request 

url= "https://twitter.com/20Minutes/status/692778440211169280" 

list_Original_message =[] 

readfile=urllib.request.urlopen(url).read() 
soup = BeautifulSoup(readfile) 

# ..... the first part of my script is set to scrape the original post, I omit it # because it works! 

# loop to get the replies : 

replies = soup.find_all('ol',{"class":'stream-items js-navigable-stream'}) 
for m in replies : 
    name = m.findAll('strong',class_="fullname js-action-profile-name show-popup-with-id")[0] 
    print(name.string) 
    profile = m.findAll('span',class_="username js-action-profile-name")[0] 
    print(profile.get_text()) 
    link = m.findAll('a',class_="tweet-timestamp js-permalink js-nav js-tooltip")[0]['href'] 
    print('https://twitter.com'+link) 
    time = m.findAll('a',class_="tweet-timestamp js-permalink js-nav js-tooltip")[0]['title'] 
    print(time) 
    message = m.findAll('p',class_="TweetTextSize js-tweet-text tweet-text")[0] 
    print (message.get_text()) 

Это результат я получаю только первый ответ:

Маис l'Eau ДИТ

@Queen_MeloMau

https://twitter.com/Queen_MeloMau/status/692797851139710978

11:54 AM - 28 января 2016

@ 20Minutes dites moi que c'est une blagounette la @slavicdelrey

+3

Почему вы не используете API Twitter? – styvane

ответ

4

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