Python
景荣先生
由简到繁,由繁到简!
展开
-
XPath获取节点集过多,只需要某一节点的解决办法
例如:获取 p class=“commodity_title shsm” 标签中的文本,如果含有 br 标签,则舍弃 br 标签之后的文本内容。 <div class="commodity_item"> <a href="/hosane-home-server/web/auction_detail/A20121083" target="_blank"> <div class="commodity原创 2020-12-16 10:32:30 · 1629 阅读 · 0 评论 -
Python输出带颜色的文字
在使用python运维与开发的过程中,经常需要打印显示各种信息。海量的信息堆砌在控制台中,就会导致各种信息都显示在一起,降低了重要信息的可读性。这时候如果能给重要的信息加上差异的字体颜色,那么就会更加显眼,提高可阅读性。说明:前景色 背景色 颜色---------------------------------------30 40 黑色31 41 红原创 2020-12-11 14:30:38 · 3006 阅读 · 2 评论 -
Python 从字符串右端分割一次(rsplit)
python 分割字符串时,有时候只需要分割部分,例如:www.chengxuan.com/subactivity/1033/page/1,只想要得到最后的 “1”。如果用 split 则会把整个字符串分割成一个 list ,这时就可以使用 rsplit 。例如:path = 'www.chengxuan.com/subactivity/1033/page/1' path.split("/")["www.chengxuan.com", "subactivity", 1033, "page ", 1]原创 2020-12-08 16:59:48 · 4468 阅读 · 2 评论 -
图片识别之pytesser3使用
一、安装:1、安装pytesser3(pip install pytesser3);2、下载安装Tesseract-OCR引擎,否则易出错。安装过程按照下面的图片指示进行。注意选择安装语言包,包含英文(默认安装)、中文、数学公式等,可根据需要自行下载。安装目录建议默认,以配合pytesser3里的__init__.py的下图路径安装完成。...原创 2019-04-10 09:25:46 · 2101 阅读 · 0 评论 -
爬虫与反爬
爬虫(Spider),反爬虫(Anti-Spider),反反爬虫(Anti-Anti-Spider),这之间的斗争恢宏壮阔…Day 1小莫想要某站上所有的电影,写了标准的爬虫(基于HttpClient库),不断地遍历某站的电影列表页面,根据 Html 分析电影名字存进自己的数据库。这个站点的运维小黎发现某个时间段请求量陡增,分析日志发现都是 IP(1.1.1.1)这个用户,并且 userag...转载 2019-04-09 10:41:01 · 382 阅读 · 1 评论 -
python数据分析五个最常用库
1、Numpy对于科学计算,它是Python创建的所有更高层工具的基础。以下是它提供的一些功能:a、N维数组,一种快速、高效使用内存的多维数组,它提供矢量化数学运算 。b、你可以不需要使用循环,就对整个数组内的数据进行标准数学运算。c、非常便于传送数据到用低级语言(如C或C++)编写的外部库,也便于外部库以Numpy数组形式返回数据。NumPy不提供高级数据分析功能,但有了对NumPy数...转载 2019-04-09 10:37:25 · 5249 阅读 · 0 评论 -
爬取手机APP数据
爬取APP数据流程:1、使用抓包工具;2、手机使用代理;3、获取并分析接口;4、反编译apk获取key;5、突破反爬限制。工具:1、夜神模拟器2、Fiddler实现过程:1、下载夜神模拟器模拟手机,也可用真机;2、下载Fiddler抓包工具,抓取手机APP数据包;3、分析接口;4、使用Python实现爬虫程序。Fiddler安装配置过程:1、下载并安装Fiddler;...转载 2019-04-09 10:25:18 · 27313 阅读 · 9 评论 -
selenium安装及使用
selenium教程:http://www.testclass.net/selenium_python一、selenium安装1、安装:pip install selenium2、安装后,出现下图错误:解决办法:安装Selenium3浏览器驱动,并设置环境变量。驱动下载路径:http://chromedriver.storage.googleapis.com/index.html...转载 2019-04-09 09:57:10 · 484 阅读 · 0 评论 -
Python可视化库matplotlib
绘制基本曲线:使用plot函数绘制函数曲线,可以调整plot函数参数,配置曲线样式、粗细、颜色、标记等。设置坐标轴:(1)spines方法移动坐标轴(2)xlim方法设置坐标轴刻度取值范围(3)xticks,yticks方法设置x,y轴的刻度标签值(4)title方法设置标题,xlabel,ylabel方法设置坐标轴描述设置图片上的描述:(1)text方法设置图片上的文字描述和注解...转载 2019-04-09 09:28:09 · 395 阅读 · 0 评论 -
python读取数据科学常用文件格式
1、什么是文件格式?文件格式是在文件中存储信息的一种标准方法。首先,文件格式指定文件是一个二进制或ASCII文件。其次,文件展示了文件的组织形式。例如,逗号分隔值(CSV)文件格式存储在纯文本的表格数据。2、为什么数据科学家需要懂得不同的文件格式?通常,你遇到的文件都取决于你使用的应用。例如,在一个图像处理系统中,你需要将图像文件作为输入输出,所以你会看到一个JPEG,GIF或PNG格式。...转载 2019-04-09 08:53:12 · 718 阅读 · 0 评论 -
Python中汉字繁简体互转
第一种方法:文档:https://pypi.org/project/hanziconv/安装:pip install hanziconv说明:可以进行繁简体互转;也可以比较繁简体文字是否相同。from hanziconv import HanziConvline_jian = '<>123asdasd把中文字符串进行繁体和简體间的转换'line_fan = '<&g...原创 2019-04-12 09:53:26 · 1835 阅读 · 2 评论 -
提升Python程序运行效率的方法总结
使用Python中的timeit函数测试程序运行效率:def timeit(stmt="pass", setup="pass", timer=<built-in function perf_counter>, number=1000000, globals=None): """Convenience function to create Timer ob...转载 2019-04-09 10:57:00 · 11009 阅读 · 0 评论 -
一个资深程序猿对Python的总结
1、环境管理:管理 Python 版本和环境的工具。p – 非常简单的交互式 python 版本管理工具。pyenv – 简单的 Python 版本管理工具。Vex – 可以在虚拟环境中执行命令。virtualenv – 创建独立 Python 环境的工具。virtualenvwrapper– virtualenv 的一组扩展。2、包管理:管理包和依赖的工具。pip – Python...转载 2019-04-09 11:11:08 · 2964 阅读 · 0 评论 -
web验证码常见类型
常见验证码分类:1、汉字验证码:2、数字 + 字母验证码:3、算术验证码:4、问答式验证码:找不到,这是唯一样图5、坐标型验证码:6、九宫格验证码:7、滑块验证码:8、旋转验证码(蘑菇街):9、语音验证码10、短信验证码主流公司验证码样例:百度:1、安全论坛评论__色块干扰验证码2、贴吧登录__倾斜字母线性验证码3、汉字验证码4、知道:紧凑倾...原创 2019-04-09 11:22:13 · 2632 阅读 · 1 评论 -
Python之pywifi模块
完整代码:from pywifi import const, PyWiFi, Profileimport time# wifi类class wifi(object): def __init__(self): self.wifi = PyWiFi() #创建一个无线对象 self.interfaces = self.wifi.interfaces() #获取...原创 2019-04-17 09:28:19 · 16019 阅读 · 9 评论 -
产生 \ufeff 问题的原因及解决办法
今天遇到以下问题:name = []with open('唐诗宋词.txt', 'r', encoding='utf-8') as f: for i in f: fen = i.split(':') print(fen[0], fen[1]) if fen[0].strip() == '诗名': name.append(fen[1].strip()) print(nam...原创 2019-04-28 14:41:41 · 48057 阅读 · 6 评论 -
xpath获取指定的非连续索引的子元素的文本数据
示例:<table> <thead> <tr> <th>ID</th> <th>名称</th> <th>电话</th> <th>说明</th> <th>类型</th> <th&g...原创 2019-04-20 12:04:01 · 854 阅读 · 0 评论 -
Python批量检测域名是否被注册
注册域名时会发现好名字基本都已被注册了,想找一个稍微好点的域名怎么办?首先,根据自己的需要,按规则批量生成待检测域名。但是生成后可能会发现域名太多了,手动测试不现实,那么开始使用下面的代码自动检测吧!#!/usr/bin/env python# -*-coding:utf8-*- from urllib import requestfrom multiprocessing.pool i...转载 2019-05-10 15:29:19 · 1973 阅读 · 0 评论 -
Python操作MySQL
需要先安装pymysql模块,安装方法pip install pymysqlpymysql在连接数据库的时候会有一个自动提交参数autocommit,一般情况下,oracle数据库本身默认不设置自动提交(或设置自动提交为false),mysql数据库本身默认设置自动提交(或设置自动提交为true)。一般情况下,不管哪种数据库,都可以在代码里不设置自动提交为true或false(不主动connec...原创 2019-05-25 10:55:24 · 269 阅读 · 0 评论 -
将Excel文件导入MySQL数据库
import pymysqlfrom openpyxl import load_workbookfrom time import timestart = time()# 连接数据库conn = pymysql.connect(host='localhost', user='root', password='root', db='zhifou', port=3306, charset=...原创 2019-05-25 14:42:51 · 535 阅读 · 0 评论 -
Kivy跨平台开源框架之Android打包
打包成 Android 可执行文件的3种方式:1、可以使用 python-for-android 为 android 创建一个包。2、可以使用 Buildozer 工具自动完成整个过程。3、可以使用 Kivy Launcher 打包,这样不用编译就能运行 Kivy 应用。对于新手,建议使用 Buildozer,这是制作完整 APK 的最简单的途径。或者也可以使用 Kivy Launcher...翻译 2019-06-20 15:50:58 · 5045 阅读 · 1 评论 -
Python数据去重
普通去重:"""去重并按原文件顺序排序"""from time import timeprint('开始去重...')start = time()new_list = []for line in open(r'e:/Python/mypy/test.txt', 'r+'): new_list.append(line) new_list2 = list(set(new_l...转载 2019-04-12 09:07:21 · 8413 阅读 · 2 评论 -
Python常见问题解决办法汇总
1、(unicode error) ‘unicodeescape’ codec can’t decode bytes in position 2-3: truncated \UXXXXXXXX escap错误,如:>>>import sys>>>sys.path.append("c:\users\administrator\desktop\py\san.py...原创 2019-04-08 16:07:55 · 4400 阅读 · 0 评论 -
matplotlib基础
import numpy as npimport matplotlib.pyplot as plt例1:绘制基本曲线x = np.arange(0., 10, 0.2) #arange函数用于创建等差数组,与range函数非常类似,两者的区别仅仅是arange返回的是一个array()数据,而range返回的是list。# print(x)y1 = np.cos(x) ...原创 2019-04-11 14:12:30 · 251 阅读 · 0 评论 -
Python快速读取超大文件
方法一:测试文件共6862646行,79.3M大小,耗时6.7秒。缺点:每一行数据内容不能大于内存大小(一般不会),否则就会造成MemoryError。import timeprint("开始处理...")start = time.time()file = r'e:\Python\mypy\搜狗词库\sogou_jianhua_new.txt'with open(file, 'rb...原创 2019-04-11 11:56:04 · 10728 阅读 · 2 评论 -
numba为Python提速
"""注意:只有在科学计算中才有效,非科学计算无效注释掉from numba import jit和@jit,foo()耗时19.51111602783203秒,foo2()耗时2.6751530170440674秒,foo3()耗时19.51111602783203秒启用from numba import jit和@jit后,foo()耗时0.06400346755981445秒,foo...原创 2019-04-11 10:23:49 · 1913 阅读 · 0 评论 -
自定义数据类型的几个魔术方法
打印显示类:class Display(object): def show(self): return ", ".join("{}".format(getattr(self, key)) for key in self.__dict__) # 重写__str__定义对象的打印内容 def __str__(self): return...原创 2019-04-11 10:20:33 · 205 阅读 · 0 评论 -
Python中的and、or及not
Python 中 & 、| 代表的是位运算符, and 、or、not代表的是逻辑运算符:1、 python 中的and从左到右计算表达式,若所有值均为真,则返回最后一个值,若存在假,返回第一个假值。如(0和’’均为假值):>>> 1 and 2 #若所有值均为真,则返回最后一个值2>>> 2 and 1 #若所有值均为真,则返回最后...原创 2019-04-11 09:39:41 · 6028 阅读 · 0 评论 -
openpyxl模块安装及使用
openpyxl模块:是用于解决Excel(WPS等均可使用)中扩展名为xlsx/xlsm/xltx/xltm的文件读写的第三方库。xls文件要使用xlwt 、wlrd两个模块。主要概念:Workbooks,Sheets,Cells。Workbook就是一个excel工作簿;Sheet是工作簿中的一张工作表;Cell就是表的一个单元格。openpyxl不管读写都是:打开Workbook,定位...原创 2019-04-11 09:28:01 · 29333 阅读 · 1 评论 -
threading线程及线程池
import timeimport threading #线程模块def sub(i): print('子线程开始...') time.sleep(1) print(i) print('子线程结束!')def main(): print('主线程开始...') start = time.time() #使用线程 for i in range(5): ...原创 2019-04-10 14:49:28 · 1518 阅读 · 0 评论 -
socket实现简单的实时通信功能
服务器端代码:import socketprint('我是服务端!')HOST = '' PORT = 50007 s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 创建TCP socket对象s.bind((HOST, PORT)) # 绑...转载 2019-04-10 11:10:33 · 1623 阅读 · 0 评论 -
使用tkinter生成图形用户界面(GUI)
#公用部分import tkinter as tk #引入图形用户界面库from tkinter import ttk #引入ttk模块from tkinter import Menu #引入Menu模块jm = tk.Tk() #生成jm主窗口jm.title("我的GUI") #GUI标题jm.geometry('150x150+8...原创 2019-04-10 10:54:59 · 2133 阅读 · 1 评论 -
Python分割合并文件
import osclass FileOperationBase(object): def __init__(self, oldpath, newpath, chunksize = 1024): self.chunksize = chunksize #分割后每个文件的大小 self.oldpath = oldpath #待处理文件路径 self.ne...转载 2019-04-11 14:20:09 · 840 阅读 · 0 评论 -
Python正则表达式去除字符串中的标点符号
import re# 只保留中文、大小写字母和阿拉伯数字reg = "[^0-9A-Za-z\u4e00-\u9fa5]"text = "<>\(*芸%芸^),,\\(-我@)&love=+《你》!【~我//""[们]】2{0}1.6~————、结/婚'吧::!这.!!_#??()个‘’“”¥$主|意()不。错……!"print(re.sub(reg, '', tex...原创 2019-04-11 14:31:54 · 13537 阅读 · 3 评论 -
sublime text3 搭建python IDE环境
一、sublime text3下载地址:http://www.sublimetext.com/3二、安装Sublime Text Build 3114 Setup.exe应用程序。三、sublime text3的工具优点就是轻量级,简易工具。所以有时候需要依靠一些插件。为了使用众多的插件来扩展 Sublime Text的功能,需要安装一个叫做 Package Control 的插件管理器——这...转载 2019-04-08 15:46:17 · 1672 阅读 · 0 评论 -
Python yield 使用浅析
带有 yield 的函数在 Python 中被称之为 generator(生成器),何谓 generator ?我们先抛开 generator,以一个常见的编程题目来展示 yield 的概念。如何生成斐波那契數列?斐波那契(Fibonacci)數列是一个非常简单的递归数列,除第一个和第二个数外,任意一个数都可由前两个数相加得到。用计算机程序输出斐波那契數列的前 N 个数是一个非常简单的问题,...转载 2019-04-08 15:10:58 · 96 阅读 · 0 评论 -
Python3.x标准模块库目录
文本1. string:通用字符串操作2. re:正则表达式操作3. difflib:差异计算工具4. textwrap:文本填充5. unicodedata:Unicode字符数据库6. stringprep:互联网字符串准备工具7. readline:GNU按行读取接口8. rlcompleter:GNU按行读取的实现函数二进制数据9. struct:将字节解析为打包的二进...转载 2019-04-08 14:54:00 · 734 阅读 · 0 评论 -
wordcloud词云可视化
安装:pip install wordcloud(有时会有VC++ 14缺失的问题)解决方案:在github下载wordcloud的包(https://github.com/amueller/word_cloud/),解压缩后,在对应目录下用python setup.py install安装。使用:import pandas as pdimport jiebafrom langcon...原创 2019-04-08 14:17:01 · 2602 阅读 · 0 评论 -
jieba结巴分词器
安装:pip install jieba相关知识:三种分词模式:1. 全模式 :把句子中所有可以成词的词语都扫描出来,速度非常快,但是不能解决歧义。这种全模式,会根据字典,将所有出现的字词全部匹配划分,所以会出现重复,这不是我们需要的。2.精确模式 :试图将句子最精确地切开,适合文本分析(类似LTP分词方式),这种精确模式就比较接近我们想要的了。3.搜索引擎模式:在精确模式的基础上对长...原创 2019-04-08 11:51:23 · 1236 阅读 · 0 评论 -
Kivy跨平台开源框架
简介:Kivy 是一套用于跨平台快速应用开发的开源框架,只需要编写一套代码,就可运行于各大桌面及移动平台上(包括 Linux、Windows、OS X、Android、iOS、以及 Raspberry Pi), Kivy 采用 Python 和 Cython 编写。在Windows系统中安装Kivy:请确保已经安装了 Python3及pip。一、安装 kivy输入 cmd,启动 Wi...转载 2019-04-08 11:03:30 · 2604 阅读 · 0 评论