爬取bilibili视频

博客提及了requests_spider.py、writer.py、bilibilimath.py三个脚本,重点强调运行bilibilimath.py脚本,这些脚本可能与编程开发相关。

requests_spider.py

import requests
import json

def get_html_text(url,headers=None):
    if None == headers:
        headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.92 Safari/537.36"}
    response = requests.get(url,headers=headers)
    response.encoding = "utf-8"
    return response.text

def get_json(url,headers=None):
    return json.loads(get_html_text(url,headers))

def get_image(url,headers=None):
    if None == headers:
        headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.92 Safari/537.36"}
    return requests.get(url,headers=headers).content

writer.py

def write_to_image(path, content):
    with open(path, "wb") as f:
        f.write(content)

bilibilimath.py

from requests_spider import get_json,get_image
from writer import write_to_image

import urllib.parse

if  __name__ == "__main__":
    args = {
        "tag":"今日热门",
        "page_size":50,
        "next_offset":0,
        "platform":"pc"
    }

    url="https://api.vc.bilibili.com/board/v1/ranking/top?"+urllib.parse.urlencode(args)
    obj = get_json(url)

    headers = {
        "Origin": "https://www.bilibili.com",
        "Referer": "https://www.bilibili.com/video/av10978955",
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.92 Safari/537.36"}

    for item in obj["data"]["items"]:
        print(item["item"]["video_playurl"])
        write_to_image("{}.mp4".format(item["item"]["id"]), get_image(item["item"]["video_playurl"],headers))

运行bilibilimath.py
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值