作者neiltsang (楚留香雞排)
看板Python
標題[問題] 爬蟲下載影片 愈到權限問題
時間Mon Jun 29 03:41:51 2020
如題目
我在下載某公開課的影片 基本上網站原始碼就可以看到url了
格式.mp4清清楚楚
不過後面會用"?"來加上一串字符 當作辨認權限
ex:
mp4.?e=1593381585&ri=1024&rs=85&h=d70001afb7cc65a247c2af14c1a242dc'
而小弟本人使用以下方法來下載影片 :
import requests
import shutil
def download_file(url):
local_filename = url.split('/')[-1]
with requests.get(url, stream=True) as r:
with open(local_filename, 'wb') as f:
shutil.copyfileobj(r.raw, f)
return local_filename
除非影片本身純粹是.mp4 否則加上?後一串似乎就無法requests
成為Invalid argument 想請問各位該如何解決?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.220.255.143 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Python/M.1593373314.A.329.html
1F:→ TakiDog: 去觀察是不是需要攜帶header or cookie吧 06/29 04:13
2F:→ neiltsang: 我有加了 不是這個問題 主要是網站後面要加一串碼 但加 06/29 14:19
3F:→ neiltsang: 了不知道該怎麼下載 06/29 14:19
4F:→ kenduest: 若只是純 url, 你開無痕瀏覽模式瀏覽器貼上去是否可下載 06/29 14:50
6F:→ alvinlin: 細節網頁裡有 06/29 16:07
8F:→ TakiDog: 你requests url有query string他也會一起送,爬蟲要模仿 06/29 16:41
9F:→ TakiDog: 整個瀏覽器,先跟k大說的你用無痕看能不能載 06/29 16:41
10F:→ TakiDog: 你貼的function中requests也不是session 你試試看吧 06/29 16:45
11F:→ alvinlin: 和無 沒關係吧 06/29 17:31
12F:→ alvinlin: 無痕* 06/29 17:32
對的 跟那個沒關係xd 我發現是因為存檔名稱是非法字元
所以檔名用000來排列就沒問題了
謝謝各位
※ 編輯: neiltsang (61.220.255.143 臺灣), 06/29/2020 21:32:04
13F:→ TakiDog: 用無痕可以快速排除是不是會檢查cookie 06/30 03:46
14F:推 vi000246: 其實你用無痕貼上mp4 url就能知道是哪邊問題了 06/30 11:04
15F:→ alvinlin: 我看解釋是無痕會"自動移除"cookie,不是檢查.純討論非戰 07/01 13:23
16F:→ alvinlin: 像這個網址我看不出來有什麼不同 07/01 16:46
18F:→ alvinlin: 但你可以看到該url被拆解成不用成份 07/01 17:13
20F:→ alvinlin: 不*同成份 07/01 17:14