我尝试检索用户列表中的tweet,但是在snscrap函数中,此参数位于引号内,这使得用户名被视为固定输入
import snscrape.modules.twitter as sntwitter
tweets_list1 = []
users_name = [{'username':'@bbcmundo'},{'username':'@nytimes'}]
for i,tweet in enumerate(sntwitter.TwitterSearchScraper('from:{}').get_items().format(username)):
if i>100:
break
tweets_list1.append([tweet.date, tweet.id, tweet.content, tweet.url,\
tweet.user.username, tweet.user.followersCount,tweet.replyCount,\
tweet.retweetCount, tweet.likeCount, tweet.quoteCount, tweet.lang,\
tweet.outlinks, tweet.media, tweet.retweetedTweet, tweet.quotedTweet,\
tweet.inReplyToTweetId, tweet.inReplyToUser, tweet.mentionedUsers,\
tweet.coordinates, tweet.place, tweet.hashtags, tweet.cashtags])
作为输出,Python得到:
`AttributeError: 'generator' object has no attribute 'format'
这段代码可以正常工作,用用户名替换大括号并删除.format属性。如果你想复制这段代码,请确保使用以下命令安装snscrap库:
pip install git+https://github.com/JustAnotherArchivist/snscrape.git
型
2条答案
按热度按时间bweufnob1#
我在写这段代码的时候发现了一些错误,所以,我想和你们大家分享一下,以防你们需要它,克服你们被同样的问题或类似的问题所困扰:
首先:我更改了users_name的格式,从一个dict改为一个列表项。
第二:我把格式属性放在了正确的位置。就在文本输入功能之后
第三:我添加了一个嵌套循环来抓取每个Twitter用户帐户
c3frrgcw2#
您可以通过使用多个自标准来避免发出多个请求: