分类目录归档:Python-Dev

[ mp4生成m3u8文件以及切片[ffmpeg] ]


生成m3u8文件&切片

ffmpeg -i out.mp4 -vbsf h264_mp4toannexb -vcodec copy -acodec aac -strict 2 -g 150 -hls_time 20 -hls_list_size 0 -start_number 0 -f hls -y out.m3u8

新版本

ffmpeg -i out.mp4 -bsf:v h264_mp4toannexb -vcodec copy -acodec aac -strict 2 -g 150 -hls_time 20 -hls_list_size 0 -start_number 0 

< Read more >

[ 视频爬虫[python] ]


简单版本

1.案例网站

https://www.ikanbot.com/play/810009

爬取思路 - 查看网络请求情况 2 - 找到M3u8文件 3 - 获取m3u8文件请求地址 4 - 获取文件里面ts视频的请求地址 5

2.python爬虫 同步版本

import requests
import re
import os
header = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/1

< Read more >

[ sqlalchemy+alembic数据库迁移 ]


  1. 安装
pip install alembic 
  1. 初始化
alembic init alembic
  1. 修改配置文件 alembic.ini文件 指定地址
sqlalchemy.url = mysql+pymysql://root:chenhaifeng@47.120.55.99:3306/fastapi
  1. env.py文件 指定表metadata
# target_metadata = mymodel.Base.metadata
from applications.extensions import metadata
from applications.models im

< Read more >

[ [databases异步]FastApi ]


Databases异步数据库官方文档

在fastapi中的使用

  1. 先安装
pip install databases
pip install databases[aiomysql]
pip install pymysql
  1. main.py文件
from typing import List

import databases
import sqlalchemy
from fastapi import FastAPI
from pydantic import BaseModel

DATABASE_URL = "mysql+pymysql://root:chenhaifeng@

< Read more >

[ pytorch训练 ]


1. 数据处理

from pathlib import Path
import os, csv, random

# 1. 分类
class_name_list = os.listdir('images')
class_to_num = {class_name: num for num, class_name in enumerate(class_name_list)}
# 文件夹名:排序 {'err': 0, 'suc': 1}

# 2. 合并所有数据
image_dir = []
for class_name in class_to_num

< Read more >

[ orjson第三方序列化 ]


第三方python的json序列化包 orjson

pip install orjson

使用

# import orjson
import json
import random
from time import time


start = time()


json1 = [
    {
        "id": 9999,
        "value": random.uniform(0, 1000)
    } 
    for _ in range(2000000)
]

# 1. 第三方orjson速度 1.5917122364044

< Read more >

[ selenium防检测 ]


selenium防检测

配合unittest使用实例

from django.test import TestCase
from selenium import webdriver
import time


class UserAuthTestCase(TestCase):
    @classmethod
    def setUpClass(cls):
        print("开始")

    @classmethod
    def tearDownClass(cls):
        print("结束")

    def setU

< Read more >

[ unittest自带测试库 ]


python自带unittest测试库

import unittest, sys, os
"""
1. 每个测试文件必须test_开头.py
2. 把要测试的内容引入进来, 方便
3. class必须继承TestCase
4. method必须以test_开头
"""
class TestSeleiumn(unittest.TestCase):

    @unittest.skipIf(sys.platform == "win32", "windows系统不允许")
    # @unitte

< Read more >

[ gerapy-scrapy可视化 ]


gerapy可视化爬虫

  1. 前提条件

    • 写好的scrapy爬虫项目
    • 安装, 并运行scrapyd提供项目对接端口6800
  2. 安装

pip install gerapy
  1. 初始化
    • 自动会创建可视化项目
gerapy init
  1. 生成数据库迁移
gerapy migrate
  1. 运行
gerapy runserver
  1. 主机管理
端口号写6800
  1. 项目管理
    1. 点击部署进入
    2. 打包项目把写好的scrapy导入, 打包成压缩包,或者直接复制项目到gerapy里的project文件夹里面
    3. 点击部署
  1. 执行
    1.

< Read more >

[ scrapy分布式爬虫基础 ]


scrapy基本使用

  1. 安装
pip install scrapy
  1. 创建项目
scrapy startporject 项目名
  1. 创建爬虫文件
cd 项目名 # 进入项目文件夹
scrapy genspider chf www.xxxx.com # chf是爬虫文件名, www.xxx.com是要爬的网站域名
  1. 运行
    • 保存为jsn文件
    • 保存为csv文件
scrapy crawl 爬虫文件名 -o wangzhan.json
或
scrapy crawl 爬虫文件名 -o wangzhan.csv

< Read more >