如何通过BeautifulSoup从公共帐户获取所有推文?

时间:2018-08-02 12:34:22

标签: python twitter beautifulsoup

我正在尝试从给定帐户中获取所有推文,但我只能获取最后20条推文。如何获取用户发布的所有推文? 这是我的代码:

from bs4 import BeautifulSoup as bs
import urllib

#This function returns tweets from
#given username's account as a list
def get_tweets(username):
    tweets = []
    URL = "https://twitter.com/"+username
    soup = bs(urllib.request.urlopen(URL), 'lxml')

    for li in soup.find_all("li", {"data-item-type": "tweet"}):
        text_p = li.find("p", class_="tweet-text")
        if text_p is not None:
            tweets.append(text_p.get_text())
    return tweets

1 个答案:

答案 0 :(得分:0)

Tweepy中,您可以像这样获得用户的时间表:

auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)

api = tweepy.API(auth)

for status in tweepy.Cursor(api.user_timeline, username).items():
    print('status_id: {}, text: {}'.format(status.id, status.text.encode('utf-8')))

请注意,它使用的是Tweepy.Cursor,它会遍历列表,直到没有其他项目为止。