看板 Python 關於我們 聯絡資訊
如題 最近想用爬蟲做個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://www.ptt.cc/bbs/Python/M.1496684369.A.5F3.html ※ 編輯: neil987 (219.68.10.154), 06/06/2017 01:43:10
AndCycle: https://github.com/rg3/youtube-dl/ 06/06 02:24
neil987: 這感覺跟我想得不太一樣 而且這project複雜好多@@ 06/06 10:25
coeric: 我以為....這是我po的.....問題點一樣,卡很久了 06/06 10:41
coeric: 原本都可以正常爬 約莫3月中時,就失效了 懷疑有改版 06/06 10:42
zerof: token 不對 06/06 13:57
zerof: parse 邏輯在你貼的網站用 js 寫在前端了,可以直接研究 06/06 14:26
neil987: 感謝 !這就是我要的!!! 06/06 14:45
coeric: 喔耶!!!我解決了.........卡超級久的 一直找不到問題 06/06 15:03
neil987: 結論上來說 應該算是1.吧 爬錯網址 06/06 15:09
neil987: 說錯 2才對 06/06 15:16
coeric: me 2 06/06 15:17
coeric: 疑?我剛剛的po文怎麼不見了........ 06/06 15:17
neil987: 因為你是回到我信箱去= = 06/06 15:21
qq004218: 笑了 XDDDDD 06/07 08:24
coeric: 失誤 失誤 XDDDD 06/07 12:51