想爬短视频,要弄清楚:
1. 在哪爬?
2.爬什么东西?
3.爬到了保存在哪里?
1. 在哪爬?
dy或者ks随便找个视频
2. 爬什么东西?
在网页上,右键点检查,然后点网络,然后点媒体,复制url地址。
url = 'https://v2.kwaicdn.com/ksc2/4veVRQb78Y0a1iGY8Vgcq28YIVFdGBHY9hv8DLlSWQbWL0G4MFbnOCDjySejpsu_pQmwOzTI9WzCiF7RgjmxEVFHlzW0VyAPdcDFc7bR4qQ893FQNY4CwVBD-82_SufKisCMWO-HKQ9YJwopS4Zz2enPOGtuJqGi_Sz8q-JDP7fRHq1qcI88OqsUnubyaoyv.mp4?pkey=AAXrhFUGCWUIlbbgMI-G48i8-4xbDt6S0y91nG2VVd-EGAFeWF1r4wg20Ivx_d2nGFFG_gc-5_o_IQ6p-pIYfxfVby69vb6KTBb31QQkJIm9uOaoLHkxuPPhl3n7CR-0GYI&tag=1-1699362403-unknown-0-h4s7rovqm5-e055bf33a305b7c9&clientCacheKey=3xji6ar597ihfme_b.mp4&di=b6965437&bp=10004&tt=b&ss=vp'
说你要照相,那你需要用手机
说你要洗衣服,那你需要照相机
同理
说你要得到网页信息,在IDE(pycharm)中也需要一个工具,那么这个工具称为request。
说你要照相,你拿到了手机就能照相吗?不是,手机可以照相,也可以打游戏,也可以聊天。你需要手机的拍照功能。
说你要洗衣服,你拿到了洗衣机就能洗衣服吗?不是,洗衣机可以甩干,也可以洗衣服,你需要用洗衣机的洗涤功能。
同理,你拿到了request,你需要用它的什么功能?get功能,意思是你想得到里面的东西。
res = requests.get(url)
那么你想要得到里面的东西,他是不是要给你呢?或者说你是不是成功拿到了呢?你可以判断一下他的状态。statue_code状态码,200表示访问成功,403表示拒绝访问,404表示数据丢失,500表示访问错误
print(res.status_code)
ok,如果可以访问,那么我们继续爬,不可以访问就换个视频爬。
res是我们拿到了里面的东西,那么我需要里面什么东西呢?我需要里面的内容(content),所以
print(res.content)
打印出来是这么一个乱七八糟的东西,谁也看不懂,没事,不需要看懂。
3.爬到了保存在哪里?
那么我们拿到了里面的东西,我需要把他装起来,装到哪里?随便,我说了算。我把他装到一个名为“hah.mp4”的文件中。那么
说你要保存文件,你要把他保存在哪里?怎么保存?
我要保存一个视频,把他保存到“hah.mp4”的箱子里,保存是写入,写入,写入什么?
open('hah.mp4', 'wb').write(res.content)
‘w’--写入数据,‘wb’--写入二进制数据
‘r’--读出数据,‘rb’--读出二进制数据
打开“hah.mp4”这个箱子之后怎么?我要写入数据,所以是“.write”,那么写入什么?写入我需要下载的视频内容,所以“.write(res.content)”。
结束
完整代码:
import requests
url = 'https://v2.kwaicdn.com/ksc2/4veVRQb78Y0a1iGY8Vgcq28YIVFdGBHY9hv8DLlSWQbWL0G4MFbnOCDjySejpsu_pQmwOzTI9WzCiF7RgjmxEVFHlzW0VyAPdcDFc7bR4qQ893FQNY4CwVBD-82_SufKisCMWO-HKQ9YJwopS4Zz2enPOGtuJqGi_Sz8q-JDP7fRHq1qcI88OqsUnubyaoyv.mp4?pkey=AAXrhFUGCWUIlbbgMI-G48i8-4xbDt6S0y91nG2VVd-EGAFeWF1r4wg20Ivx_d2nGFFG_gc-5_o_IQ6p-pIYfxfVby69vb6KTBb31QQkJIm9uOaoLHkxuPPhl3n7CR-0GYI&tag=1-1699362403-unknown-0-h4s7rovqm5-e055bf33a305b7c9&clientCacheKey=3xji6ar597ihfme_b.mp4&di=b6965437&bp=10004&tt=b&ss=vp'
res = requests.get(url)
open('hah.mp4', 'wb').write(res.content)
四行代码结束