Python爬取全民小视频网站视频,可爬取全网视频!

382 阅读1分钟

前言

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理。

PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取

python免费学习资料以及群交流解答点击即可加入

开发工具

  • python 3.6.5

  • pycharm

    import requests 1

确定目标网页

![](https://p9-tt-ipv6.byteimg.com/origin/pgc-image/ac72f474db7e43dbad63acdd3ffee612)
  • 选择影视类目
![](https://p9-tt-ipv6.byteimg.com/origin/pgc-image/53ae04f2a5044ba4a40e956eb592f179)
  • 右键选择检查,开发开发者工具
![](https://p9-tt-ipv6.byteimg.com/origin/pgc-image/26291caa44224ac88115de322d5cad50)
  • 选择 Network,网页往下滑,可以看到数据加载

  • 视频地址

  • 视频名字

  • 视频ID

![](https://p6-tt-ipv6.byteimg.com/origin/pgc-image/06e5ceae07b54c7885faec6a18b9fc77)
![](https://p6-tt-ipv6.byteimg.com/origin/pgc-image/6ff9a893882d4b35ac600b1447b4e6dc)

接口数据链接是通过pn的变化,实现翻页效果

如果想要爬取其他分类视频,把参数中tab_name 更改即可

完整代码

import pprint
import requests

url = 'https://quanmin.baidu.com/wise/growth/api/home/tabmorelist'
for page in range(1, 100):
    params = {
        'rn': '12',
        'pn': '{}'.format(page),
        'timestamp': '1603442730716',
        'session_id': '1603442719704',
        'tab_name': 'movie',
        '_format': 'json',
    }
    headers = {
        'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36'
    }
    response = requests.get(url=url, params=params, headers=headers)
    html_data = response.json()
    lis = html_data['data']['list']['video_list']
    for li in lis:
        play_url = li['play_url']
        title = li['title']
        filename = 'D:\\python\\demo\\全民小视频\\视频\\' + title + '.mp4'
        response_2 = requests.get(url=play_url, headers=headers)
        with open(filename, mode='wb') as f:
            f.write(response_2.content)
            print(title, play_url)
![](https://p26-tt.byteimg.com/origin/pgc-image/990959c0af0342a4a3819a786c30e56a)
![](https://p1-tt-ipv6.byteimg.com/origin/pgc-image/cf2251ce59fc4a7b92a64bab4e71c56a)