作者文章归档:面对疾风吧

Python绘制蒙太奇图片(opencv)


写在前面

原理其实很简单,把目标图像划分成许多区域,然后从给定的图库里寻找一张和本区域最相似的图片,将找到的图片贴到对应区域上,重复这一过程,然后就得到了目标图片。

本文所用素材来自lol官方网站,详情参阅爬取LOL英雄皮肤,批量爬取的代码会抽时间写进去。

用到的包

#OpenCV
import cv2
#操作文件夹
import os
#构造像素点矩阵
import numpy as np
#用于获取点图中出现频率最高的像素点
import collections

一个小问题

"""
OpenCV无法直接加载含有中文路径的图片,所以需要自定义一个方法
同样的,

Read more

庚子札记(2020.9.24 -- 2020.10.19)


说明

本文仅为保留记忆碎片而作。请勿转载,读过还望一笑置之。

09.24 星期四 阴历八月初八

由于前段时间身体不适,咳嗽加重且伴有一定程度的喘息,我觉得这样拖下去小命要不保,自己已经22岁整了,有必要对自己的身体负责,于是我请了一天假,本来打算请病假,可今天是生日啊,如果问题不大,下午我还可以休息一下,最终请了事假去看医生。打车到武汉大学人民医院东院,离公司很近,大概2.3公里,打车10元,起步费,到医院时大概是上午八点半,在自助办卡机那里摸索了几分钟,办好就诊卡,挂呼吸内科的专家号,然后在候诊区坐了一会儿,到9点20分我被叫去就诊,今天坐诊的是商医生,问过病情后,给我开了DR和心电图的检查

Read more

python绘图之matplotlib


摘要

记录一些matplotlib绘图常用语法。谨防遗忘。

import matplotlib.pyplot as plt
#更改绘图风格
plt.style.use('seaborn-whitegrid')
import numpy as np

#创建图形对象
fig = plt.figure()
#创建坐标轴对象
ax = plt.axes()

#生成numpy数组
x = np.linspace(0,10,1000)

#分别绘制正弦、余弦函数图像
plt.plot(x,np.cos(x))
plt.plot(x,np.sin(x))
#也可以操作坐标轴绘图,跟上面作

Read more

python中json模块的使用


写在前面

从9月26号因病住院,到10月19号暂时出院,这期间一直没有机会写博客,在园区的时候也总忍不住玩游戏,必须要做些什么才行,就慢慢的回到学习的状态吧。

Json模块

该模块为python3.x自带模块,无需使用pin install命令进行安装。 使用方式: import json

json.loads()

#input
import json
a = "[1,2,3,4]"
b = '{"k1":1,"k2":2}'
print(json.loads(a))
print(type(json.loads(a))

Read more

记一次多线程的使用


写在前面

同事老哥想让我把一个网站上所有的pdf资料爬下来,但实在是太多了,可能会对网站造成破坏,所以想了个折中的方式,把所有书的下载链接爬取下来。为了提升效率,简单的用了一下多线程。

用到的包

#请求网页
import requests
#操作excel
import openpyxl
#调用多线程
import threading
#解析网页
from bs4 import BeautifulSoup as bs

全局变量

#目标地址,一共有863页
urls = ['http://www.allitebooks.org/page/{}/'.format(i) for i

Read more

pyecharts绘制动态图表


写在前面

本文来自微信公众号:python数据分析之禅,创作不易,请支持原作者。

获取数据

#用到的包
import requests
from bs4 import BeautifulSoup as bs
import time
import csv
import schedule
#微博热搜地址
BASE_URL = 'https://s.weibo.com/top/summary'
#创建csv文件,并填入表头
with open('1.csv','wt',newline = '') as f:
    f_csv = cs

Read more

爬取LOL任意英雄皮肤


用到的包

#请求网页
import requests
#创建和切换目录
import os
#解析网页
from bs4 import BeautifulSoup as bs
#selenium模拟浏览器行为
from selenium import webdriver
from selenium.webdriver.chrome.options import Options

初始化

#创建并切换到英雄联盟文件夹
if not os.path.exists('英雄联盟'):
    os.mkdir('英雄联盟')
os.chdir('英雄联盟'

Read more

初探Python爬虫Scrapy框架


安装框架

pip install scrapy -i https://pypi.douban.com/simple

创建项目

#打开CMD,cd到自己要保存项目的文件夹
scrapy startproject myspider

目标数据

本次尝试抓取目标链接中的讲师姓名、职称和个人信息。 则修改myspider目录下的items.py文件:

import scrapy
class DeatilItem(scrapy.Item):
    name = scrapy.Field()
    title = scrapy.Field()
    info = scrapy.Field()

Read more

python中的logging模块


logging是什么?

logging可以用于记录程序的运行状态,帮你确定到底是哪条语句出现了错误,而不用再苦逼的使用print来Debug,本篇记录一些简单操作。

打印信息

import logging
#设定配置信息,level为级别,严重性为debug<info<warning<error<critical,默认为warning
#严重性低于level的日志信息将不会被统计
#format格式化输出信息,包括时间,py文件名,代码行数,日志级别及输出信息
#datefmt格式化时间戳,filename指定保存日志的文件,filemode为文件打开方式,默认为a也可

Read more

python中对列表进行copy的几种方式


第一种

#直接赋值
a = [1,2,3,['a','b']]
b = a
a.append(4)
print(b)
#输出结果
[1, 2, 3, ['a', 'b'], 4]
#相当于a和b指向同一个内存空间

第二种

#调用列表自带的copy方法
a = [1,2,3,['a','b']]
b = a.copy()
a.append(4)
print(b)
a[3].append('c')
print(b)
#输出结果
[1, 2, 3, ['a', '

Read more