我制作了一个简单的 python 脚本,用于向 Facebook 群组发布随机的 youtube 视频和引述。
问题是,它没有给 Facebook 加载随机视频的时间。更具体地说,目前帖子看起来像这样:
我当前的代码如下所示(我省略了敏感数据):
""" Song of the day script """
import facebook
import os
from pyquery import PyQuery
import requests
import random
class Sofy(object):
GROUPS = ["123", "123"]
FB_ACCESS_TOKEN = "123accesstoken"
PLAYLISTS = ["123youtubeplaylist"]
VIDEOS = []
def get_video(self):
req = requests.get("https://www.youtube.com/playlist?list={}".format(self.PLAYLISTS[0]))
pq = PyQuery(req.text)
for video in pq(".pl-video").items():
self.VIDEOS.append(video.attr("data-video-id"))
return "https://www.youtube.com/watch?v={}".format(random.choice(self.VIDEOS[-5:]))
def get_qoute(self):
pwd = os.path.dirname(os.path.realpath(__file__))
fx = pwd + '/quotes.txt'
lines = open(fx).read().splitlines()
return random.choice(lines)
def run(self):
quote = self.get_qoute()
video = self.get_video()
graph = facebook.GraphAPI(access_token=self.FB_ACCESS_TOKEN, version='2.2')
for group in self.GROUPS:
graph.put_object(group, "feed", message="{}\n Song of the day: {}".format(quote, video))
print "All done :)"
if __name__=='__main__':
sofy = Sofy()
sofy.run()
我尝试使用 Selenium
执行此操作,但它没有按预期引用工作。另外,这种方式看起来更干净,但我不知道如何让 youtube 视频加载,我什至不确定这是否可能?
最佳答案
看起来您实际上并没有正确地共享链接,看起来您正在将 URL 添加到“消息”参数中 -
如果您在“链接”参数中指定它,它应该正确附加
关于python - 通过请求发布到 FB 组,允许加载 youtube 视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36671936/