最近最学习爬虫,今天我们来看下如何爬取西瓜视频的地址。

本文阅读指导,爬虫基于chrome浏览器F12开发工具进行的,需要知道关于chrome浏览器F12基础的功能,不了解的童鞋请移步:【Python】Chrome浏览器F12开发者工具使用

本文会用到两个在线工具:

json解析工具:https://www.json.cn/

base64解析工具:https://www.sojson.com/base64.html

好了,了解完的童鞋咱们往下走。

一、基础流程

1、获取到视频瀑布流

2、获取到详情视频的地址

3、写入文件

二、获取视频瀑布流

1、通过F12开发工具获取到详情url

点击那个鼠标图标,鼠标移动到页面(cf大头模式),这样就能获取到页面对应源码位置。

python自动投稿西瓜视频 python爬取西瓜视频_python自动投稿西瓜视频

点击进入详情页,可以看到详情页url跟href地址相差“https://www.ixigua.com/”而已。

2、通过F12开发工具获取到瀑布流url

基本流程是:network -->XHR-->Headers-->Resporse

python自动投稿西瓜视频 python爬取西瓜视频_python_02

python自动投稿西瓜视频 python爬取西瓜视频_python自动投稿西瓜视频_03

大家可能看到的数据是这样的,告诉大家一个好方法。直接双击左边的链接就能跳转如下。

python自动投稿西瓜视频 python爬取西瓜视频_python_04

然后用到在线工具json解析工具,将上文全部复制粘贴到在线工具中去。就会给你在右边给你解析出来。

python自动投稿西瓜视频 python爬取西瓜视频_python自动投稿西瓜视频_05

这样就获取到了瀑布流详情,在对比详情页url。很容易猜测到时将videoId加上“https://www.ixigua.com/i”补全成https://www.ixigua.com/i+videoId

如下,补全为:

https://www.ixigua.com/i6723828592565813768

python自动投稿西瓜视频 python爬取西瓜视频_爬虫_06

3、测试

将上面补全后的url输入到浏览器回车,发现跟猜测的是一模一样。

python自动投稿西瓜视频 python爬取西瓜视频_python自动投稿西瓜视频_07

三、获取到详情视频的地址

这一章节参考:https://www.jianshu.com/p/6ca1344a09db

但是,不能直接拿下来用。好几处细节需要修改。

1、需要验证url是否很有效

验证如下url是否还是能够返回串。

https://ib.365yg.com/video/urls/v/1/toutiao/mp4/v02004bd0000bc9po7aj2boojm5cta5g?r=048136401358795045&s=3128215333

如下:此时验证还是可以的。

python自动投稿西瓜视频 python爬取西瓜视频_python_08

然后同样的拷贝到json解析数据。如下图。

python自动投稿西瓜视频 python爬取西瓜视频_python_09

2、获取video_id

用作者的方法查询video_id得到

python自动投稿西瓜视频 python爬取西瓜视频_python_10

最后得到过滤 "vid":" *** " 这个字符串。

然后修改代码如下。

def get_video_id(url):
    #获取视频id
    resp = requests.get(url, headers=headers)
    # 获取video_id
    #print(resp.text)
    search = re.search("\"vid\":\"([^\"]+)\",", resp.text)
    print(search.group(1))
    return search.group(1)