分类标签归档:python

Python抓取微博评论


写在前面

一直以为微博的东西比较好搞,没想到还是有点坑。新浪把评论的模块保存在一个json字典里,真的是够了。。。前20页可以轻易爬取,21页以后需要获取前一页最后一个评论的ID以及已经展示的评论总数。

包和全局变量

#时间管理带师
import time
#网页请求
import requests
#解析网页
from bs4 import BeautifulSoup as bs

#统计已经展示的评论数量
num = 0
#请自行登录新浪获取cookie
cookie = {}
#请求头
headers = {
    'sec-fetch-dest':'empty

Read more

Scrapy框架的自定义配置


多spider

创建多个spider,需要为每个spider分配不同的管道(不要在settings.py中添加管道),首先在pipelines.py中定义不同的类,然后修改对应的py文件:

class PythonSpider(scrapy.Spider):
    name = 'csdn'
    allowed_domains = ['www.csdn.net']
    start_urls = ['https://www.csdn.net/nav/python']
    custom_settings = {
        '

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

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

python3中ctypes的简单使用


写在前面

闲来无事,学习一下使用python调用动态链接库,就用到了ctypes库。

使用方法

#调用ctypes中的各类方法
from ctypes import cdll,CDLL,WinDLL,windll
#调用platform获取当前操作系统
import platform

if platform.system() == 'Windows':
    #windows下调用的是msvcrt.dll文件
    libc = cdll.LoadLibrary('msvcrt.dll')
elif platform.system() == 'Li

Read more