作者neil987 (R5大小姐-EX人品崩坏)
看板Python
标题[问题] youtube影片爬虫问题
时间Tue Jun 6 01:39:24 2017
如题 最近想用爬虫做个youtube影片下载器
灵感来源是
http://kej.tw/flvretriever/ 这个YOUTUBE下载网站
步骤是先贴上网址,然後下载一个影片info
然後把info里面的内容贴上网页给网页分析出连结
影片info里面大概就是就是从某个网址request回来的内容
影片实体连结是url_encoded_fmt_stream_map之後的url=video_real_link
随便举一个影片的连结
大概长这样
https://r6---sn-3cu-3iie.googlevideo.com/videoplayback?lmt=1458XXXX.....(下略
缩:
https://goo.gl/L8ug5f
点进去是个真实的影片连结
所以上实作(Python 2.7):
import requests,re,urlparse,shutil
link = "
https://www.youtube.com/watch?v=qQ7g1tfEGFc"
res = requests.get(link).text
co = re.compile('"url_encoded_fmt_stream_map":"(.*?),"fade')
m = co.search(res)
url_all = m.group(1).decode('unicode_escape')
a = urlparse.parse_qs(url_all)
print a['url']
不过这边取得的影片连结就不对了
=>
https://r6---sn-3cu-3iie.googlevideo.com/videoplayback?key=yt6&XXXXX
缩:
https://goo.gl/vbZVeB
然後直接对浏览器丢这个网址会出现403
感觉上就是没有抓到影片的真实位置
问题应该有2个可能
1.一开始跟原影片网址要request时的Header资讯
2.不该跟原始网址要request,而是其他网址(api之类的)
还请前辈们指教 感谢~~
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 219.68.10.154
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1496684369.A.5F3.html
※ 编辑: neil987 (219.68.10.154), 06/06/2017 01:43:10
2F:→ neil987: 这感觉跟我想得不太一样 而且这project复杂好多@@ 06/06 10:25
3F:推 coeric: 我以为....这是我po的.....问题点一样,卡很久了 06/06 10:41
4F:→ coeric: 原本都可以正常爬 约莫3月中时,就失效了 怀疑有改版 06/06 10:42
5F:→ zerof: token 不对 06/06 13:57
7F:→ zerof: parse 逻辑在你贴的网站用 js 写在前端了,可以直接研究 06/06 14:26
8F:→ neil987: 感谢 !这就是我要的!!! 06/06 14:45
9F:推 coeric: 喔耶!!!我解决了.........卡超级久的 一直找不到问题 06/06 15:03
10F:→ neil987: 结论上来说 应该算是1.吧 爬错网址 06/06 15:09
11F:→ neil987: 说错 2才对 06/06 15:16
12F:推 coeric: me 2 06/06 15:17
13F:→ coeric: 疑?我刚刚的po文怎麽不见了........ 06/06 15:17
14F:→ neil987: 因为你是回到我信箱去= = 06/06 15:21
15F:→ qq004218: 笑了 XDDDDD 06/07 08:24
16F:推 coeric: 失误 失误 XDDDD 06/07 12:51