从 url 更改 Twitter 横幅

Change twitter banner from url

我将如何使用 tweepy 库使用 url 中的图像更改 Twitter 横幅:https://github.com/tweepy/tweepy/blob/v2.3.0/tweepy/api.py#L392

到目前为止我得到了这个 returns:

def banner(self):
    url = 'https://blog.snappa.com/wp-content/uploads/2019/01/Twitter-Header-Size.png'
    file = requests.get(url)
    self.api.update_profile_banner(filename=file.content)

ValueError: stat: embedded null character in path

似乎文件名需要下载图像。无论如何要在不下载图像然后删除它的情况下处理它?

看看图书馆的代码你可以做你想做的。

def update_profile_banner(self, filename, *args, **kargs):
    f = kargs.pop('file', None)

所以你需要做的是提供文件名和文件 kwarg:

filename = url.split('/')[-1]
self.api.update_profile_banner(filename, file=file.content)
import tempfile

def banner():
    url = 'file_url'
    file = requests.get(url)
    temp = tempfile.NamedTemporaryFile(suffix=".png")
    try:
        temp.write(file.content)         
        self.api.update_profile_banner(filename=temp.name)
    finally:
        temp.close()