- 博客(64)
- 收藏
- 关注
转载 程序员的痛,谁能懂
1、懵圈.jpg2、程序员圣经3、人工智能学习能力挺好4、你就说完美完成任务吧5、看着就头痛...6、中关村(程序员村)7、当代牛马8、程序员界未解之谜
2024-11-22 12:31:28
31
原创 OCR 文字识别 之 验证码识别
OCR(Option Character Recognition) 技术,可以对图片文字进行识别。爬虫时,可以实现对常规验证码进行识别。1、安装 tesserocr 库安装说明参照同期公众号文章:OCR文字识别 之 Tesseract及tesserocr 安装说明安装包下载地址:https://download.youkuaiyun.com/download/Mountain_tai_li/88222237另...
2023-08-17 07:02:38
677
原创 OCR文字识别 之 Tesseract及tesserocr 安装说明
python 进行文字识别,需安装 tesserocr。该模块安装过程坑比较多,本人亲自踩坑,总结如下安装经验。安装包下载:Tesseract、tesserocr安装包及安装说明资源-优快云文库1、 安装Tesseract双击tesseract安装包,依次点击 Next,至下面界面,勾选“Additional languagedata(download)”,然后再依次按照默认...
2023-08-17 07:02:38
1403
2
原创 Python 网页解析库 之 XPath (2)
6、提取父节点如果知道子节点,可以通过".."选取父节点,使用方法如下:from lxml import etreehtml = etree.parse('xpath_sample.html', etree.HTMLParser())result = html.xpath('//a[@href="link4.html"]/../@class')print(result)运行输出结果:['it...
2023-08-17 07:02:38
206
原创 Qt 实例24 QTabelWidget交互编辑csv文件
1、C++代码以下是一个使用QTabelWidget交互编辑CSV文件的C++代码示例:#include <QFile>#include <QTextStream>#include <QTableWidget>#include <QTableWidgetItem>// 打开CSV文件并加载到表格中void loadCSV(const QS...
2023-08-16 06:00:36
439
原创 Python 网页解析库 之 XPath (1)
1、简介在做爬虫时,可以使用 XPath(XML Path Language) 进行网页信息提取。XPath 具有简单明了的路径选择表达式,以及诸多内建函数,可以用于字符串、数值、时间等类型匹配。XPath 常用规则:表达式描述nodename选取当前节点的所有子节点/选取当前节点的子节点//选取当前节点的子孙节点.选取当前节点..选取当前节点的父节点@选取当前节点的属性使用方法,如://titl...
2023-08-16 06:00:36
235
原创 Python httpx库的使用
爬虫时,urllib 与 requests 库只支持HTTP/1.1,有些网站强制使用 HTTP/2.0 访问协议,则 此时 urllib 与 requests 将无能为力。目前来说,支持 HTTP/2.0 的请求库使用较多的是 hyper 和 httpx,其中 httpx 使用起来更为方便,功能也更强大,几乎支持了 requests 已有的所有功能。1、安装python 版本需为 3.6 及以上...
2023-08-11 08:01:03
457
原创 python 正则表达式(2)
2、Searchre.match 从字符串开头进行匹配,如果匹配规则不能对字符串开头进行匹配,则会匹配失败,返回None。因此,re.match 再对字符串中内容进行匹配时并不方便,反而更适合检测字符串是否符合特定的规则。re.match 对字符串开头不匹配导致匹配失败的示例如下:import retext = "Python Hello world \n1234567 python is th...
2023-08-10 08:00:09
81
原创 python 正则表达式(1)
用 requests 库可以获取网页的 HTML 源码,在做爬虫时,我们需要从 HTML 源码中提取我们需要的信息,这时就用到了正则表达式。常用正则表达式匹配规则如下:python 的 re 库提供了整个正则表达式的实现。1、Matchmatch 可以检测字符串和正则表达式是否匹配。match 从字符串起始位置开始匹配正则表达式,并返回匹配的结果,如果没有匹配结果,返回 None。使用方法如下:i...
2023-08-08 08:03:20
106
原创 python 正则表达式
用 requests 库可以获取网页的 HTML 源码,在做爬虫时,我们需要从 HTML 源码中提取我们需要的信息,这时就用到了正则表达式。常用正则表达式匹配规则如下:python 的 re 库提供了整个正则表达式的实现。1、Matchmatch 可以检测字符串和正则表达式是否匹配。match 从字符串起始位置开始匹配正则表达式,并返回匹配的结果,如果没有匹配结果,返回 None。使用方法如下:i...
2023-08-08 08:03:20
53
原创 requests 之 高级用法:文件上传、Cookie设置、Session保持、SSL证书验证、超时设置、身份认证...
requests 库还具有一些高级用法,如文件上传、Cookie设置、Session保持、SSL证书验证、超时设置、身份认证等。1、文件上传requests 通过 post 实现文件上传方式如下:import requestsurl = 'https://www.httpbin.org/post'with open('favicon1.ico', 'rb') as file: file...
2023-08-05 08:00:18
5491
原创 requests 之 高级用法:文件上传、Cookie设置、Session保持、SSL证书验证、超时设置、身份认证...
requests 库还具有一些高级用法,如文件上传、Cookie设置、Session保持、SSL证书验证、超时设置、身份认证等。1、文件上传requests 通过 post 实现文件上传方式如下:import requestsurl = 'https://www.httpbin.org/post'with open('favicon1.ico', 'rb') as file: file...
2023-08-05 08:00:18
162
原创 requests 之 高级用法:文件上传、Cookie设置、Session保持、SSL证书验证、超时设置、身份认证...
requests 库还具有一些高级用法,如文件上传、Cookie设置、Session保持、SSL证书验证、超时设置、身份认证等。1、文件上传requests 通过 post 实现文件上传方式如下:import requestsurl = 'https://www.httpbin.org/post'with open('favicon1.ico', 'rb') as file: file...
2023-08-05 08:00:18
106
原创 requests 之 高级用法:文件上传、Cookie设置、Session保持、SSL证书验证、超时设置、身份认证...
requests 库还具有一些高级用法,如文件上传、Cookie设置、Session保持、SSL证书验证、超时设置、身份认证等。1、文件上传requests 通过 post 实现文件上传方式如下:import requestsurl = 'https://www.httpbin.org/post'with open('favicon1.ico', 'rb') as file: file...
2023-08-05 08:00:18
118
原创 Python HTTP库 urllib之 parse 解析链接
urlib库里还提供了parse模块,这个模块定义了处理URL的标准接口,例如实现URL各部分的抽取、合并以及链接转换。它支持如下协议的URL处理:file、ftp、gopher、hdl、http、https、imap、mailto、mms、news、nntp、prospero、rsync、rtsp、rtspu、sftp、sip、sips、snews、svn、svn+ssh、telnet和 wai...
2023-08-02 08:00:40
240
原创 Python中使用open函数进行文件读写操作
Python中使用open函数进行文件读写操作的用法如下:1. 打开文件: 使用open函数可以打开一个文件,并返回一个文件对象。语法如下:file = open(filename, mode) 参数说明:filename:要打开的文件名(字符串类型)。mode:打开文件的模式(字符串类型),可选参数,默认为'r'(只读模式)。 常见的文件打开模式有:'r':只读模式(默认值),文件指...
2023-08-02 08:00:40
1860
4
原创 requests 之 get、post 用法
urllib 库的在处理网页验证和Cookie时需要写Opener类和Handler类来处理。另外实现POST、PUT等请求时的写法也不太方便。为了更加方便地实现这些操作,产生了更为强大的库-requests。requests库在是实现网页请求的时候,可以用一行代码进行实现,如: 以get方法实现 GET 方式请求网页,使用方法如下:# ******************************...
2023-08-02 08:00:40
714
原创 urllib 之 异常处理
是在网络不好的情况下,要是不处理异常,程序很可能会因为报错而终止运行,所以异常处理还是十分有必要的。urllib库中的error模块定义了由request 模块产生的异常。当出现问题时request模块便会抛出error模块中定义的异常。1、URLErrorURLError类来自urllib库的error模块继承自0SError类是error异常模块的基类由request模块产生的异常都可以通过捕...
2023-07-27 08:58:01
485
原创 urllib 之 高级用法 Handler
Handler 可以理解为各种处理器有专门处理登录验证的,处理Cookie的,处理代理设置的。利用这些 Handler,我们几乎可以实现HTTP请求中所有的功能。BaseHandler类urllib,request 模块里的BaseHandler类是其他所有Handler类的父类。它提供了最基本的方法,例如default openprotocol request等。会有各种Handler子类继Ba...
2023-07-27 08:58:01
206
原创 Python HTTP库 urllib之 urlopen 用法
urllib.request 模块提供了最基本的构造HTTP请求的方法,利用这个模块可以模拟浏览器的请求发起过程,同时还具有处理授权验证、重定向、浏览器Cookie以及其他一些功能。#urlopenimporturllib.requestresponse=urllib.request.urlopen("https://www.python.org")#print(respons...
2023-07-26 08:52:25
434
原创 Python HTTP库 urllib之 Request 用法
利用urlopen方法可以发起最基本的请求,但urlopen的几个简单参数并不足以构建一个完整的请求。如果需要往请求中加入Headers等信息,就得利用更强大的 Request 类来构建请求了。import urllib.requestrequest = urllib.request.Request('https://python.org') # 构造 Request 对象response =...
2023-07-26 08:52:25
505
原创 Qt 示例23 QSqlite数据库编程
通过QSqlite数据库实现简单的数据库客户端功能。包括创建表,右键删除表;数据表记录的增、删、查等。后附完整实现代码。头文件:#ifndef MAINWINDOW_H#define MAINWINDOW_H#include <QMainWindow>class QSqlDatabase;class QListWidgetItem;namespace Ui {c...
2023-07-25 09:27:22
230
原创 QSqlite 数据库基本操作语句
创建表:QStringsql="createtableuser(idintprimarykey,namevarchar(30),ageint)";插入记录:QString sql = "insert into user values (?, ?, ?)";修改:QString sql = "update userset name = :name where id = :id...
2023-07-25 09:27:22
200
原创 Qt 实例22 愤怒的小鸟(1)-登录注册
本项目工程较大,作为一个专题进行更新介绍。本次更新登录注册页面及功能实现。功能:新用户登陆前先进行注册,老用户可以直接进行登录,然后跳转至开始界面。详细代码如下:1、创建SQLite数据库,用于保存用户信息。QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");db.setHostName("127.0.0.1");db.setDatab...
2023-07-20 13:15:51
183
转载 TCP和UDP的异同
一、TCP和UDP都属于TCP/IP协议族TCP/IP模型是一些列协议的总称(比如:TCP,UDP,IP,FTP,HTTP,ICMP,SMTP)。这些协议可以划分为四层:链路层、网络层、传输层、应用层。二、UDP和TCP的不同2.1 TCP是面向连接的,UDP是面向无连接的UDP是不需要和TCP一样建立三次握手连接的。而TCP则在通信前是需要进行三次握手的。具体就是:在发送端,应用层将数据传递给...
2023-07-20 13:15:51
1106
转载 Python 示例6 自定义词云图形状
Python生成指定形状词云图:这里引用《勇敢的心》经典台词,进行词云图生成展示。形状为抖音logo形状。详细实现代码如下:from PIL import Imageimport numpy as npimport matplotlib.pyplot as pltfrom wordcloud import WordCloud, STOPWORDS# 文本地址text_path =...
2023-07-20 13:15:51
1099
转载 Python 实例5 生成词云图
Python生成词云图:这里引用《勇敢的心》经典台词,进行词云图生成展示。from wordcloud import WordCloud# 文本地址text_path = 'test.txt'# 示例文本scr_text = "Fight,and you may die." \ "Run,and you'll live at least a while." \ ...
2023-07-18 08:00:28
102
转载 Qt 实例21 QFtp客户端(上传、下载文件)
1.简介实现FTP客户端有几种方式。Qt4 QFtp类Qt5 QNetworkAccessManager类QNetworkAccessManager支持大多数的网络协议,比如http、ftp等,这里主要讲解QNetworkAccessManager实现的FTP客户端。需要添加 Qt += network 模块。2.用到的主要类2.1QNetworkReplyQNetworkReply类包含使用QN...
2023-07-18 08:00:28
1023
转载 Python 实例4 温度换算
通过输入摄氏温度及需要转换的类型,将摄氏温度转换为其他类型温度。temp_type = ['摄氏温度', '华氏温度', '开氏温度', '列氏温度', '兰金温度']def is_digit(temp): try: float(temp) return True except ValueError: pass ...
2023-07-17 09:22:03
126
转载 Qt 实例20 查看主机IP信息
1.QHostInfo主要用来查询主机信息,包括主机名,ip地址,DNS域名等信息。以下常用静态方法QHostInfo::localHostName():获取本机的主机名。QHostInfo::fromName(QString &name):通过主机名获取IP地址。QHostInfo::lookupHost():可以通过一个主机名,以异步方式查找这个主机的IP地址。QHostInfo::l...
2023-07-17 09:22:03
224
转载 Python 实例3 根据身份证号判断省份、生日、性别
根据输入的身份证号判断省份、生日、性别。详细代码如下:dic = {'11': '北京市', '12': '天津市', '13': '河北省', '14': '山西省', '15': '内蒙古自治区', '22': '吉林省', '23': '黑龙江省', '31': '上海市', '32': '江苏省', '33': '浙江省', '35': '福建省', '36': '江西省',...
2023-07-17 09:22:03
1584
原创 Qt 安装教程
Qt 是一个支持windows、linux、android等系统平台的集成开发环境。可以作为C++软件开发界面设计及代码编写的开发工具。并且其具有诸多基于C++底层封装的类库,对于新手程序员来说,使用起来比较友好。1、官网下载需要安装的版本:https://download.qt.io/archive/qt/我这里下载的是比较成熟稳定的版本Qt5.9.1,下载文件:qt-opensource-wi...
2023-07-15 08:00:23
1257
转载 Qt 实例19 UDP组播
组播是主机之间“一对一组”的通信模式,当多个客户端加入由一个组播地址定义的多播组之后,客户端向组播地址和端口发送数据报,组内成员都可以接收到,类似QQ群。UDP组播必须使用一个组播地址。组播地址是D类IP地址,有特定的地址段。多播组可以是永久的也可以是临时的。永久多播组保持不变的是它的IP地址,组内成员结构可以发生变化。224.0.0.0~224.0.0.255为预留的组播地址(永久组地址),地址...
2023-07-15 08:00:23
430
转载 Python 实例2 福彩双色球
通过输入幸运数字,生成随机双色球号码。代码如下:import randomprint("*****福彩双色球*****")print("====================")luck = input("请输入您的幸运数字(1~16):\n")inputx = int(input("请输入双色球彩票组数:\n"))for i in range(inputx): red =...
2023-07-15 08:00:23
322
原创 Python 实例1 代码雨
import sysimport randomimport pygamefrom pygame.locals import *# 屏幕大小WIDTH = 800HEIGHT = 600# 下落速度范围SPEED = [15, 30]# 字母大小范围SIZE = [5, 30]# CODE长度范围LEN = [1, 8]# 随机生成一个颜色def random...
2023-07-14 08:00:24
92
转载 QT UDP通信(单播、广播、组播)
1.QUdpSocketUDP是轻量的、不可靠的、面向数据报、无连接的协议,它可以用于对可靠性要求不高的场合,与TCP通信不同,无需建立持久的socket连接。QUdpSocket用于实现UDP通信,与QTcpSocket主要区别是,QUdpSocket以数据报传输数据,而不是以连续的数据流。发送数据使用writeDatagram(),数据报的长度一般少于512字节,每个数据报包含发送者和接收者的...
2023-07-14 08:00:24
571
转载 Qt 实例18 UDP单播/广播
本机运行两个实例需要绑定不同的端口,例如实例A绑定端口2000,实例B绑定端口3000,实例A向实例B发送数据时,需要指定实例B所在主机的IP地址、绑定端口作为目标地址和目标端口,这样实例B才能接收到数据报。如果在不同的计算机运行,则可以使用相同的端口。要实现数据接收,必须先使用QUdpSocket::bind()绑定一个端口,用于监听传入的数据报。解除绑定则使用abort()函数。writeDa...
2023-07-14 08:00:24
187
原创 QNetworkAccessManager 详细介绍
QNetworkAccessManager 是 Qt 网络模块中的一个类,用于管理网络请求和响应。它提供了一种简单的方式来发送 HTTP 请求并处理响应。下面是 QNetworkAccessManager 类的一些常用函数:
2023-05-23 17:03:44
1245
QFtp 编译库 VS2013-64、VS2015-64、MinGW32
2023-04-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人