作者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/cn.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