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

Python与C++混合编程


写在前面

今天在CSDN看到某个算法(约瑟夫生死者游戏)的三种写法,分别是C、C++、Python,我分别实现后产生了一种想法,既然Python被称为胶水语言,那么应该可以把Python移植到C++中执行,说干就干!

三种版本

C语言版(ysfc.cpp),在vs2019中使用cpp后缀

#include<stdio.h>

void ysfc()
{
    int i = 1;
    int j = 0;
    int c = 0;
    int a[30] = { 0 };
    int b[30] = { 0 };
    while (i <= 31)
  

Read more

Python模拟登录百度贴吧(requests)


写在前面

这两天本打算做两件事,其一是仅利用BDUSS实现模拟登录百度,再进一步请求到贴吧首页,其二是关于朴素贝叶斯分类器的,拉普拉斯平滑是很重要的内容,需要对文章进行补充。但第一件事就花了两天,而且得到的结果与预期并不相符,暂且记录一下过程。拉普拉斯平滑近期会补充。

思路分析

前几天写了贴吧自动灌水脚本,是用完整的cookie请求的,而我想用最少的信息做成这件事,把cookie精简再精简,是否可以只利用某一字段就实现呢?目前未探究这个问题,而选择了另外一个方向,我尝试使用Cookie中的BDUSS字段请求贴吧首页,并不能返回登录状态的信息,退而求其次,请求百度首页,这一次在返回的信息中找到了

Read more

朴素贝叶斯分类器


写在前面

无聊的时候总要找点事情做,今天就搞了搞朴素贝叶斯分类,训练样本集为playtennis,此案例是我大学期间在一本名为《数据挖掘》的书中看到的,比较简单,当时是用matlab做的,根据算法原理写了好多for循环,今天用python试了试,原本以为sklearn里面会有对应的方法,实际上也确实有,但测试集包含的数据量太少,训练得到的模型精度非常低,所以根据朴素贝叶斯分类的原理写了代码,在此记录一下。

算法介绍

该算法主要依据贝叶斯公式,是一种有监督的机器学习,算法思想真的很朴素!具体参考下面链接。


  1. 带你理解朴素贝叶斯【知乎】
  2. 朴素贝叶斯分类器【百度百科】

数据集

Outloo

Read more

写了一个贴吧自动灌水脚本


写在前面

无聊的时候总想搞点事情,自己没有什么思路,打开csdn看到别人的自动评论脚本,我想了想,不如搞一个贴吧自动灌水脚本。

主要代码

用到的包

#发起网页请求
import requests
#这个是配置文件,自己写的,主要保存cookies还有灌水的内容
import comment_conf as settings
#时间、随机、正则表达式
import time,random,re
#解析网页
from bs4 import BeautifulSoup as bs

浏览器标识符(请求头):

#这个用来抓取已有的楼层信息,不需要的话删掉
headers_get = {
    &qu

Read more

Python+OpenCV调整视频分辨率


写在前面

今天帮老哥处理视频的时候发现分辨率不一致,需要处理一下,可以借助python+opencv来实现,很方便。

获取视频信息

import cv2
#加载视频
videoCapture = cv2.VideoCapture('video.mp4')
#读取视频fps(帧率)
fps = videoCapture.get(cv2.CAP_PROP_FPS)
#读取视频的宽度
Frame_Width = videoCapture.get(cv2.CAP_PROP_FRAME_WIDTH)
#读取视频的高度
Frame_Height = videoCapture.get(cv2

Read more

python爬取新闻直播间快讯


写在前面

今天上班的时候老哥问我能不能把cctv的视频下载下来,本着能播放就能下载的原则,我打开了F12。。。。回归正题,想获得完整的视频下载地址是有些难度的,不过把所有的视频流按顺序写进同一个二进制文件也是可行的办法。顺便尝试了一下从命令行获取参数,以及在下载过程中使用进度条。

用到的包

#爬取模块
import requests
#正则表达式、文件夹、系统变量
import re,os,sys
#进度条相关
from tqdm import tqdm

主要代码

根据参数获取url地址(这里提供一个url样例,是播放页面的地址)

if len(sys.argv) == 2:
    url

Read more

记一次反爬虫破解


写在前面

参考文献来自csdn梦想橡皮擦,本次尝试的是网易有道词典的接口,这类教程网上有很多,但大多过时了,也不敢确定本文的有效性能保持多久,所以记录代码的同时,一并记录下方法。有道的反爬原理是生成本地随机变量进行验证,如果不能摸清随机变量的生成规则,就只能收到{'errorcode':'50'},另外,有道对请求头也有一定要求。

用到的包

#发起网页请求
import requests
#对字符进行md5加密
import hashlib
#获取时间戳
import time
#生成随机数
import random

获取随机变量

#translate为要翻译的内容
def generat

Read more

Django+nginx+gunicorn部署网站


写在前面

试过了apache2,uwsgi,这次尝试下gunicorn,本文权当学习笔记。

安装

sudo apt-get install nginx
sudo apt-get install python3
sudo apt-get install python3-pip
sudo pip3 install virtualenv

虚拟环境

#创建
python3 -m virtualenv venv
#启动
source venv/bin/activate

安装python包

pip3 install -Ur requirements.txt

收集静态资源

#注意在settings.p

Read more

开放Ubuntu虚拟机端口


写在前面

有时候我们需要某个端口做测试,确定无误后再部署到服务端,但有些端口是默认关闭的,本文介绍一下如何打开端口并持久化开放。

使用以下命令

#安装iptables
sudo apt-get install iptables
#开放端口
sudo iptables -I INPUT -p tcp --dport 端口 -j ACCEPT
#保存规则
sudo iptables-save
#注意,以上规则每次重启都要重新配置,可以使用以下方法持久化
#安装iptables-persistent
sudo apt-get install iptables-persistent
#持久化规则
su

Read more