当前位置: 首页 > 知识库问答 >
问题:

如何解决"类型错误:一个字节样的对象是必需的,而不是'str'"在这个代码?[重复]

丁书
2023-03-14

import json
import csv
import tweepy
import re
"""
INPUTS:
    consumer_key, consumer_secret, access_token, access_token_secret: codes 
    telling twitter that we are authorized to access this data
    hashtag_phrase: the combination of hashtags to search for
OUTPUTS:
    none, simply save the tweet info to a spreadsheet
"""
def search_for_hashtags(consumer_key, consumer_secret, access_token, access_token_secret, hashtag_phrase):
    
    #create authentication for accessing Twitter
    auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
    auth.set_access_token(access_token, access_token_secret)

    #initialize Tweepy API
    api = tweepy.API(auth)
    
    #get the name of the spreadsheet we will write to
    fname = '_'.join(re.findall(r"#(\w+)", hashtag_phrase))

    #open the spreadsheet we will write to
    with open('%s.csv' % (fname), 'wb') as file:

        w = csv.writer(file)

        #write header row to spreadsheet
        w.writerow(['timestamp', 'tweet_text', 'username', 'all_hashtags', 'followers_count'])

        #for each tweet matching our hashtags, write relevant info to the spreadsheet
        for tweet in tweepy.Cursor(api.search, q=hashtag_phrase+' -filter:retweets', \
                                   lang="en", tweet_mode='extended').items(100):
            w.writerow([tweet.created_at, tweet.full_text.replace('\n',' ').encode('utf-8'), tweet.user.screen_name.encode('utf-8'), [e['text'] for e in tweet._json['entities']['hashtags']], tweet.user.followers_count])
consumer_key = input('Consumer Key ')
consumer_secret = input('Consumer Secret ')
access_token = input('Access Token ')
access_token_secret = input('Access Token Secret ')
    
hashtag_phrase = input('Hashtag Phrase ')

if __name__ == '__main__':
    search_for_hashtags(consumer_key, consumer_secret, access_token, access_token_secret, hashtag_phrase)

共有1个答案

沈枫涟
2023-03-14

试着改变

with open('%s.csv' % (fname), 'wb') as file:

进入

with open('%s.csv' % (fname), 'w') as file:
 类似资料:
  • 我有windows 11 python 3.9,我运行一个py脚本来做一个启动器,我解决了一个问题,长重命名为int,但现在我不能确定发生了什么,错误是: TypeError:需要一个类似字节的对象,而不是str

  • 我正在尝试遵循这个OpenCV练习http://coding-robin.de/2013/07/22/train-your-own-opencv-haar-classifier.html 但是在运行mergevec.py的步骤中遇到了困难(我使用Python版本而不是.cpp版本)。我使用的是Python3,而不是本文中提到的Python2.x。 此文件的源是https://github.com/

  • 我对Python完全陌生,正在尝试通过以下示例进行学习:对我来说,学习的最佳方式是查看示例,并尝试理解和使用我自己需要的代码。 我目前正试图通过一个项目学习python,该项目有树莓皮零W和adafruit fona 808突破板。 然而,示例代码是为Python2.7编写的,我想将其转换为适用于Python3的代码。 我收到这个打字错误。问题是,国际单项体育联合会应该如何运作。我曾尝试搜索谷歌并

  • 我发现子字符串在压缩文件使用下面的python脚本。我得到"TypeError:一个字节样的对象是必需的,而不是'str'"。请任何一个人帮我解决这个问题。 和输入文件是 TruSeq2_SEAGATCGGAAGAGCTCGTATGCCGTCTTCTGCTTG 第二个文件是压缩文本文件。行“if abcd in line:”显示错误。

  • 以下是尝试使用套接字修改用户提供的输入的代码: 当我执行它并提供输入时,会发生以下错误: 我能做些什么来解决这个问题?

  • 我正在运行一个代码,但这一行出现错误: TypeError:需要一个类似字节的对象,而不是str 这里显示的是类型列表的各个部分,是 TypeError:需要一个类似字节的对象,而不是str