我用crontab创建一个爬b站视频的脚本,脚本里面调用了Python文件。这个脚本执行正常,但是Python文件并不会执行成功。
脚本文件 /usr/local/bin/bilibili.sh
内容:
python3 /usr/local/bin/main.py && echo "download_yes" >> /var/log/bilibili.log
main.py的内容
def download_videos(vid):
url_headers="https://www.bilibili.com/video/"
os.system("youtube-dl -i "+url_headers+vid)
for a in range(1,2):
url="https://api.bilibili.com/x/v3/fav/resource/list?media_id=1289157349&pn=%s&ps=20&keyword" \
"=&order=mtime&type=0&tid=0&platform=web&jsonp=jsonp"%a
request = urllib.request.Request(url,headers=head_)
response=urllib.request.urlopen(request)
html=response.read().decode("utf-8")
json_data=json.loads(html)
print(json_data)
for i in json_data["data"]["medias"]:
print(i["title"])
print(i["bv_id"])
try:
fo = open("/var/log/bilibili.log", "a", encoding="utf-8")
fo.write("python")
fo.write(i["title"])
fo.write(str(datetime.datetime.now()))
fo.write("\n")
fo.close()
download_videos(i["bv_id"])
except:
fo = open("/var/log/bilibili_error.log", "a", encoding="utf-8")
fo.write(i["title"]+"下载失败")
fo.write("\n")
fo.close()