Python爬虫练习:爬取全民小视频(附代码,过程)

2020-11-04 10:58:36 浏览数 (1)

前言

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

本次目标

爬取全民小视频

代码语言:javascript复制
https://quanmin.baidu.com/

确定目标网页

选择影视类目

右键选择检查,开发开发者工具

选择 Network,网页往下滑,可以看到数据加载

  • 视频地址
  • 视频名字
  • 视频ID

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

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

环境

  • Python3.6
  • pycharm

开始代码

导入工具

代码语言:javascript复制
import pprint
import requests

相关库可以用 pip install 安装

请求、解析、爬取网页数据,并保存

代码语言:javascript复制
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 = 'C:\Users\Administrator\Desktop\新建文件夹\'   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)

运行代码,效果如下

0 人点赞