黑啤是真的皮
码龄6年
关注
提问 私信
  • 博客:51,617
    问答:7,377
    58,994
    总访问量
  • 25
    原创
  • 2,198,585
    排名
  • 11
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:湖北省
  • 加入CSDN时间: 2018-12-15
博客简介:

qq_44111565的博客

查看详细资料
个人成就
  • 获得37次点赞
  • 内容获得26次评论
  • 获得158次收藏
  • 代码片获得186次分享
创作历程
  • 3篇
    2022年
  • 2篇
    2021年
  • 19篇
    2020年
  • 2篇
    2019年
成就勋章
TA的专栏
  • 爬虫
    2篇
  • 邮件
    1篇
  • 编码问题
    1篇
  • libcurl
    1篇
  • 斗鱼抽奖脚本
    1篇
兴趣领域 设置
  • 大数据
    mysqlredis
  • 测试
    selenium
  • 服务器
    linux
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

如何保证线程安全?

线程安全,即在多线程的环境下,可访问的全局变量和堆数据随随时都可能被其他的线程改变。因此多线程程序在并发时数据的一致性变得非常重要。
原创
发布博客 2022.07.05 ·
1478 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

多模块初始化解决方案

多模块初始化解决方案
原创
发布博客 2022.06.30 ·
414 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

tcl脚本实现登录终端并批量执行命令

大致需求是登录一个新的命令行,然后批量执行命令,但ip不同。本来打算用python写的,但是登录新的命令行需要安装pexpect包,由于需要在设备上跑,所以采用expect命令来实现登录功能,但是使用shell脚本配合expect命令登录传参特别不方便。每次下发命令需要重复登录,很麻烦,查资料得知expect脚本是采用的tcl脚本语言编写,因此我们采用tcl来写这个脚本运行chmod 777 demo.sh./demo.sh 1.1.1.1 1000第一次写tcl脚本,网上资料很少,有很多坑,比如{的
原创
发布博客 2022.06.09 ·
996 阅读 ·
0 点赞 ·
0 评论 ·
4 收藏

Ubuntu20无法安装g++

照着网上更新了国内的镜像源之后,安装g++会出现g++ : Depends: g+±7 (>= 7.4.0-1~) but it is not going to be installed这种报错。解决办法:从网上摘抄的源实际上是给ubuntu18.04使用的,系统代号为bionic,跟sources.list的bionic相对应。而ubuntu20的系统代号为focal系统代号可以通过lsb_release -a命令查看,将sources.list中的bionic改为focal
转载
发布博客 2021.07.22 ·
1705 阅读 ·
2 点赞 ·
3 评论 ·
6 收藏

模拟登录1-古诗文网

import requestsfrom lxml import etreefrom PIL import Imageimport pytesseracturl = 'https://so.gushiwen.cn/user/login.aspx'headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.438
原创
发布博客 2021.03.28 ·
699 阅读 ·
4 点赞 ·
0 评论 ·
4 收藏

有道翻译爬虫

import requestsimport hashlibimport timeimport randomimport jsonurl = 'http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule'def get_md5(value): md5 = hashlib.md5() md5.update(value.encode('utf-8')) return md5.hexdi
原创
发布博客 2020.09.07 ·
1042 阅读 ·
3 点赞 ·
3 评论 ·
1 收藏

python自动发邮件

本文以qq邮箱为例首先需要进入邮箱打开设置选择设置中的账户开启smtp服务点击生成授权码发送短信完成后,复制生成的字符串待用# python 内置smtplib库支持发送邮件import smtplibfrom email.mime.text import MIMETextfrom email.header import Header# 实例一个邮箱对象# 邮箱我们以qq邮箱为例# 端口为465或者587,465为ssl加密,587为tls加密smtpObj
原创
发布博客 2020.06.14 ·
296 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

pycharm的terminal无法呼出

打开terminal没反应如图,尝试了好多方法,都无法解决这个问题,重装还是有这个问题,说明是自己电脑的配置问题。造成原因我们使用了中文的路径。解决办法将用户文件夹名改为英文路径(将C:/User/名字改为C:/User/xxx即可)因为直接是无法修改的,所以需要以下步骤。 1.进入注册表HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Profilelist,找到用户名对应的ProfileImagePath(即C:
原创
发布博客 2020.06.07 ·
2869 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

谷歌学术首页url爬取

小Demo因为涉及到js加密,所以写了练练手直接上代码import requestsimport reimport execjsurl = 'https://ac.scmor.com/'headers = { 'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.129 Safari/537.36', }
原创
发布博客 2020.05.16 ·
1198 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

爬虫匹配数据失败的原因

今天碰到一个匹配数据失败的问题,用谷歌浏览器的xpath插件,在网页上能匹配到数据,复制到代码中,匹配为空。解决办法将响应的代码保存下来,查看响应的html页面对应的位置有啥区别这里可以看到。我们得到的页面中跟网页上显示的有点不一致,网页上的是src,我们得到的是src2,所以修改我们的xpath选择器就可以匹配出我们需要的数据。总结这也算得上是一种反扒机制了吧,遇到问题不要慌,...
原创
发布博客 2020.05.06 ·
611 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Python 爬虫错误:AttributeError: 'NoneType' object has no attribute 'text'

答:

我刚刚也碰到这个问题了,我的问题是上一层的进行beautifulSoup的定位标签位置过大,造成在进行循环时,找不到对应的的标签,抛出异常。

你可以打印一下可迭代对象的大小,跟预期是否一致

回答问题 2020.05.06

使用自定义的qss样式

qss样式每次写起来都很麻烦?你把它保存起来,每次需要的时候再读取,它不香吗?QFile file("xxxx");//这里是文件路径if(!file.open(QIOdevice::ReadOnly)){ return ;}QString styleSheet = tr(file.readAll());this->setStyleSheet(styleSheet);fil...
原创
发布博客 2020.04.21 ·
174 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

Qt实现查询是否有重复文件

每个文件都会有对应的MD5值,很多地方都是用这个来判断文件是否重复,来降低服务器的资源消耗。如某盘我们可以借助MD5的值来判断文件是否重复。1. 获取文件夹下的所有文件路径QStringList Widget::getFiles(const QString &path){ QStringList ret; QDir dir(path); //QDir::Di...
原创
发布博客 2020.04.20 ·
1177 阅读 ·
1 点赞 ·
0 评论 ·
9 收藏

Qt实现组件的阴影效果

代码很简单,效果很炫酷QGraphicsDropShadowEffect * shadow = new QGraphicsDropShadowEffect(); //渲染的像素点 shadow->setBlurRadius(30); //渲染的颜色 shadow->setColor(Qt::gray); //渲染相对于组件的偏移 sha...
原创
发布博客 2020.04.19 ·
699 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Qt实现无边框可拖拽窗口

#include "widget.h"#include "ui_widget.h"#include <QHBoxLayout>Widget::Widget(QWidget *parent) : QWidget(parent), ui(new Ui::Widget){ ui->setupUi(this); //设置无边框 this-...
原创
发布博客 2020.04.19 ·
664 阅读 ·
0 点赞 ·
0 评论 ·
4 收藏

c++中的operator的作用

今天在看effective c++的时候,看到了一个奇怪的用法operator FontHandle()const{ return f;}这一下把我整懵了,在我的脑子里operator只能用于操作符重载啊,乍一看还以为是重载(),仔细一看,这函数没有返回值类型,而且只有一个括号,然后写了两个demo对比了一下。class demo {public: demo(int a) :a(a...
原创
发布博客 2020.04.18 ·
1482 阅读 ·
6 点赞 ·
2 评论 ·
7 收藏

python中的yield生成器

# 生成器 #什么是生成器(yield) #生成器就是一种自定义的迭代器 #为什么需要生成器 #生成器是用来返回多次值的一个工具,return只能返回一次值# 在函数内一旦存在yield关键字,调用该函数不会执行函数体# 而会返回一个生成器对象(其实就是自定义的迭代器对象)# 可以使用生成器对象.__next__()来获得返回值def f...
原创
发布博客 2020.04.15 ·
287 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

python的有参装饰器

# 有参装饰器 #为什么需要有参装饰器 #前面的学的装饰器的作用是给原函数增加新功能 # 但是当有多个函数需求同样的功能时,又需要一些参数进行区分 # 这时候以前的装饰器就无法解决这个问题了# 比如下面的例子,想在原函数的基础上加上账号密码判断的功能# def outter(func):# def warpper(*arg...
原创
发布博客 2020.04.15 ·
146 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

python的装饰器详解

# 装饰器的引入 # 为什么叫装饰器 # 在原来的函数的基础上装饰(添加)新功能的工具 # 装饰器有什么作用 # 在原函数的基础上添加新功能,而不修改的原函数# 举个例子# 在index函数的基础上进行测试程序执行时间的功能import time# def index(x,y):# time.sleep(2)# pri...
原创
发布博客 2020.04.14 ·
202 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

编码解码问题

在很多时候我们会碰到编码问题。、编码问题无非两种1. 存盘时出错例如在编写文本文件时,我们用到了日文和英文,(在编辑器中显示正常,是因为,内存中采取的是unicode编码,兼容所有字符)但是我们保存文本文件是确是用了GBK(只支持中文和英文)编码保存的,这时候就会出现保存出错。解决方法:存盘时,使用与编写文本文件兼容的编码进行保存。如上面的例子,我们在存盘时可以以shift_jis(支...
原创
发布博客 2020.04.13 ·
194 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多