使用Tweepy通过twitter提取推文

2024-09-30 06:15:27 发布

您现在位置:Python中文网/ 问答频道 /正文

在成功地将tweets附加到我的csv文件后,我看到tweets被缩短,并且在缩短的地方有一个新的文本

例如:原来的推特看起来像这样

风险管理职业生涯 该领域的一些课程和资格包括:

  1. GARP的金融风险管理(FRM)认证
  2. IRM的企业风险管理(ERM)资格
  3. 风险管理工商管理硕士/硕士

我的推文的主体如下: 风险管理职业\n\n该领域的一些课程和资格证书是:\n\n1。GARP\xe2\x80\x99s金融风险Ma\xe2\x80\xa6(在此处添加链接)

你知道我怎样才能解决这个问题吗

在此处共享我的代码:

auth = tweepy.OAuthHandler('xxxx', 'xxxx') 
auth.set_access_token('xxxx', 'xxxx')
api = tweepy.API(auth)
search_words = "jobs"      #enter your words
new_search = search_words + " -filter:retweets"
csvFile = open('jobs.csv', 'a')
csvWriter = csv.writer(csvFile)
for tweet in tweepy.Cursor(api.search,q=new_search,count=100,lang="en",since_id=0).items():
        csvWriter.writerow([tweet.created_at,tweet.text.encode('utf8'), tweet.user.screen_name.encode('utf-8'), tweet.favorite_count, tweet.retweet_count,tweet.truncated,tweet.user.location.encode('utf-8'), tweet.source])

Tags: csvauthsearchcounttweets领域课程tweet
2条回答

看起来您使用的是标准推文,而不是扩展(超过140条)推文:

for tweet in tweepy.Cursor(api.search,q=new_search,count=100,lang="en",tweet_mode=“extended”, since_id=0).items():

您还需要在CSV存储行中获取tweet.full_text,而不是tweet.text

这里发生的事情是,您还捕获了特殊字符,\n这是一个常见字符,只是换行符,我首先想到的方法是使用.split()函数,但它将字符串拆分为一个数组,虽然它确实删除了字符,但我找到了.replace()函数,该函数将如下所示,以消除换行符:

tweetToCut.replace('\n', '')

这将消除换行符,尽管您必须对每个角色都执行此操作,但您可以将它们链接起来,使其看起来像:

tweetToCut.replace('\n', '').replace('\xe2', '')

尽管除非你只想要tweet的文本,否则你想要删除的字符是tweet格式所必需的,所以如果你只想使用文本,你最好删除它们,但是如果你确实想要格式,我建议你保留这些字符,除非你想重新格式化tweet

相关问题 更多 >

    热门问题