- 博客(197)
- 收藏
- 关注
原创 selenium 对当前已经打开的窗口进行调试
进入chrome浏览器的路径执行如下命令,创建一个端口为9527的窗口。代码里面创建实例,调用driver即可。
2023-11-08 09:45:23
630
原创 prompt_toolkit层级显示与动态bottom
from prompt_toolkit import PromptSessionfrom prompt_toolkit import promptfrom prompt_toolkit.history import FileHistoryfrom prompt_toolkit.auto_suggest import AutoSuggestFromHistoryfrom prompt_toolkit.formatted_text import HTMLfrom prompt_toolkit.com.
2022-04-23 15:13:15
900
原创 Python 抽象类抽象方法
在Python3中创建方法from abc import ABCMeta,abstractmethodclass Abstract(metaclass=ABCMeta): @abstractmethod def func(self): passclass A(Abstract): def func(self): print("A")class B(Abstract): passa = A()b = B()#报错,没有实现抽
2022-03-25 10:31:43
177
原创 Python 命令行 - click 库
一. 认识 Click 库连载关于命令行系列文章,我们提到了 Python 标准库模块 argparse 可用于解析命令行参数~ 但由于 argparse 使用复杂,add_argument 方法参数众多。为此,第三方库模块 click 应运而生,极大地改善了 argparse 的易用性。注:Click 第三方库由 Flask 的作者 Armin Ronacher 开发。Click 相较于 argparse 较好比 requests 相较于 urllib。使用 click 之前,需要先进行安
2022-01-10 22:30:47
2581
原创 Python 命令行 - prompt_toolkit 库
Python 的第三方库 prompt_toolkit 用于打造交互式命令行,在交互式场景的使用中,prompt_toolkit 具有以下特点:语法高亮 支持多行编辑 支持代码补全 支持自动提示 使用鼠标移动光标 支持查询历史 对 Unicode 支持良好 跨平台 支持 Emacs 与 Vi 风格的快捷键prompt_toolkit 在使用前需要先进行安装:pip install prompt_toolkit一. 使用 Bash 下常用快捷键想必很多开发者在创建交互
2022-01-10 22:27:00
3275
1
转载 Python模块学习 - Paramiko
简介ssh是一个协议,OpenSSH是其中一个开源实现,paramiko是Python的一个库,实现了SSHv2协议(底层使用cryptography)。有了Paramiko以后,我们就可以在Python代码中直接使用SSH协议对远程服务器执行操作,而不是通过ssh命令对远程服务器进行操作。由于paramiko属于第三方库,所以需要使用如下命令先行安装 1 pip3 install paramiko 回到顶部Paramiko介绍para
2021-11-14 23:21:55
831
原创 免密登陆教程
Host data1 HostName 101.37.246.151 Port 22 User bigdata PreferredAuthentications publickey IdentityFile ~/.ssh/id_rsa
2020-08-14 15:14:48
433
原创 谷歌翻译爬虫
# -*- coding: utf-8 -*-# @Time : 2020-08-13 15:03# @Author : zhangdahe# @Email : 17762375674@163.com# @File : 谷歌翻译_new.pyimport urllib.requestimport execjsclass Yuguii(): def __init__(self): self.ctx = execjs.compile(""" .
2020-08-13 17:02:38
1079
原创 python多线程爬虫
'''整体的思路:1、构造任务队列pageQueue ,存放所有要爬取的页面url2、用多线程爬虫从糗事百科上抓取糗事,然后将抓取的页面内容存放到data_queue中3、用多线程程序对data_queue中的页面内容进行解析,分别提取 糗事的图片url,糗事的题目和糗事内容,然后存放到的json文件中(一个时间点只有一个线程可以写文件IO,注意到Python的多线程机制使用了GIL锁)'''import requestsfrom lxml import etreefrom queue .
2020-08-13 15:55:39
252
原创 pandas.read_csv 详细介绍
pandas.read_csv 接口用于读取 CSV 格式数据文件,由于它使用非常频繁,功能强大参数众多,所以在这里专门做详细介绍, 我们在使用过程中可以查阅。读 Excel 文件等方法会有很多相同的参数,用法基本一致。语法它的语法如下:pd.read_csv(filepath_or_buffer: Union[str, pathlib.Path, IO[~AnyStr]],sep=',', delimiter=None, header='infer', names=None, inde
2020-08-12 16:32:27
5593
原创 vue构建和部署
普通的搭建方式(安装指令)安装Node.js检查node是否已安装,终端输入 node-v会使用命令行(安装)npm install vue-cli- 首先安装 vue-cli vue init webpack- 创建项目 npm install- 安装依赖 npm install axios- 安装axios请求 npm install vuex--save - 安装 vuex npm install vue-router- 安装路由 npm install karm...
2020-08-10 11:33:47
223
原创 git 创建仓库并绑定远程仓库
1.在远程创建一个空仓库2.本地新建一个文件夹,依次执行如下命令# 创建仓库git init# 绑定远程仓库git remote add origin https://e.coding.net/zhangdahe/toutiao_web/toutiao_web.git# 拉取远程仓库git pull origin master# 添加文件git add .# 提交文件git commit -m '完成'# 推到远程仓库git push origin master..
2020-08-09 17:31:57
1561
原创 一文看懂Git命令清单
我每天使用 Git ,但是很多命令记不住。一般来说,日常使用只要记住下图6个命令,就可以了。但是熟练使用,恐怕要记住60~100个命令。下面是我整理的常用 Git 命令清单。几个专用名词的译名如下。 Workspace:工作区 Index / Stage:暂存区 Repository:仓库区(或本地仓库) Remote:远程仓库 一、新建代码库# 在当前目录新建一个Git代码库$ git init# 新建一个目录,将其初始化为Git代码
2020-08-03 10:57:37
111
原创 Python 标准模块堆heapq详解
import heapqnums = [ 8, 2, 23, 1, 7, -4, 18, 23, 42, 37, 2]# heapq.heapify 将list x 转换成堆,原地,线性时间内。heapq.heapify(nums)print(nums)# heapq.heappush(heap, item)# 将 item 的值加入 heap 中,保持堆的不变性。heapq.heappush(nums, 33)print(nums)# heapq.heappop(heap)# .
2020-07-31 13:31:35
1023
原创 使用mongodump 或 mongoexport导出数据
./mongodump --host=dds-bp14700fdf79f3mongodb.rds.aliyuncs.com --port=3717 --authenticationDatabase=admin -u root -p password -d apple_store -c ca_app_hist -o /nfs_data/write_popu/ca_app.json./mongoexport --host=dds-bp14700fdf79f3141rds.aliyuncs.com -.
2020-07-16 11:41:35
3461
原创 mongo 删除重复的记录
db.hk_ios12_app_hist.aggregate([ { '$group': { '_id': {'appid': '$appid','l': '$l'},'count': {'$sum': 1},'dups': {'$addToSet': '$_id'}} }, { '$match': {'count': {'$gt': 1}} }]).forEach(function(doc){ doc.dups.shift();.
2020-07-15 17:35:26
170
原创 python 列表推倒时嵌套
list = ['a','b','c']list1 = ['d','e','f']方法一list1 = ['a','b','c']list2 = ['d','e','f']output_list = list()for item in list1: for i in list2: output_list.append("{}_{}".format(item,i))print(output_list)方法二:list1 = ['a','b','.
2020-07-15 15:37:24
184
原创 python 输入开始时间和结束时间获得中的的所有时间list
import datetimestart = '2016-05-01'end = '2016-06-01'def get_month_list(start,end): if start == end: return [start.replace("-",'')] else: st = start.replace("-",'') datestart = datetime.datetime.strptime(start, '%Y-%m-%.
2020-06-11 12:48:24
1201
原创 学Python必须懂的例子
告别枯燥,60秒学会一个Python小例子。收录整理了42个例子一次性送给大家,希望对大家有所帮助!总有一款适合你~~一、基本操作1 链式比较i=3print(1<i<3)#Falseprint(1<i<=3)#True2 不用else和if实现计算器fromoperatorimport*defcalculator(a,b,k):return{'+':add,...
2020-06-03 15:50:50
237
原创 python3 获得url的查询字符串和url
from urllib.parse import urlparse, parse_qsurl = 'https://edge.itunes.apple.com/search?clientApplication=Software&term=face&caller=com.apple.AppStore&version=1's = urlparse(url)query = parse_qs(s.query)url1 = s._replace(query=None).geturl(.
2020-05-26 16:19:03
627
原创 MongoDB索引与优化详解
Mongodb索引类型MongoDB提供了不同的索引类型支持在不同的业务场景进行查询1. _id索引绝大多数集合默认建立索引,对于每个插入的数据,MongoDB都会生成一条唯一的_id字段。例如新创建一个集合时db.demo_admin2.insert({x:1})db.demo_admin2.getIndexes() # 查看集合索引,可看到_id索引2. ...
2020-04-30 15:30:11
473
原创 python列表套字典多列排序
原始数据:m_list = [{'markname': '大众', 'sm_type': 1.5, 'sm_zh': 0.4}, {'markname': '特斯拉', 'sm_type': 0, 'sm_zh': 0.3}, {'markname': '宝马', 'sm_type': 2, 'sm_zh': 0.95}, ...
2020-04-30 14:21:51
1153
原创 国外数据scp到国内,经常会非常慢,网路连接质量非常差
国外数据scp到国内,经常会非常慢,网路连接质量非常差一种方案是花钱,买国外到国内的专用网路,但10Mb一个月就要几万块钱,没必要了就另外就常用的服务器网路加速的服务,比较常用的就是锐速https://github.com/91yun/serverspeeder服务器两端均需要安装service serverSpeeder status查看状态另外,如果是centos比较新的版本,7以...
2020-04-20 11:34:49
840
原创 mongodb 分组求最大值
db.getCollection("playback").aggregate([{$match:{"game_record_id":{$in:[68,69]}}},{$group:{_id:"$game_record_id",record_id:{$max:"$record_id"},data:{$max: '$$ROOT'}}},{$project:{_id:1,record...
2020-02-07 17:05:26
1532
原创 指定数据库里需要分片的集合和片键
1.指定数据库里需要分片的集合和片键db.runCommand( { shardcollection :"testdb.table1",key : {id: "hashed"} } )官网参考:https://docs.mongodb.com/manual/reference/method/sh.shardCollection/index.html2.设置chunksized...
2020-01-13 09:49:11
322
原创 如何在Ubuntu 16.04上使用Gunicorn和Nginx部署Falcon Web应用程序
介绍Falcon是用于构建Web应用程序的最小Python框架。它非常适合构建遵循REST架构风格的API 。它是一个低级别,高性能的框架,可以在不牺牲开发速度的情况下尽可能少地执行。在本教程中,您将构建和部署Falcon Web应用程序。Falcon是一个WSGI框架,因此您将安装和使用Gunicorn,一个WSGI应用程序服务器来为该应用程序提供服务。然后,您将使用Nginx作为反向代...
2020-01-06 19:07:41
611
转载 Python + logging 输出到屏幕,将log日志写入文件
日志日志是跟踪软件运行时所发生的事件的一种方法。软件开发者在代码中调用日志函数,表明发生了特定的事件。事件由描述性消息描述,该描述性消息可以可选地包含可变数据(即,对于事件的每次出现都潜在地不同的数据)。事件还具有开发者归因于事件的重要性;重要性也可以称为级别或严重性。logging提供了一组便利的函数,用来做简单的日志。它们是 debug()、 info()、 warning()、 er...
2020-01-06 10:43:08
1022
原创 给mongo添加索引
用过数据库的都知道,数据库索引与书籍的索引类似,都是用来帮助快速查找的。MongoDB的索引跟关系型数据库的索引几乎一致。1. 索引的创建mongodb采用ensureIndex来创建索引,如:db.user.ensureIndex({"name":1})表示在user集合的name键创建一个索引,这里的1表示索引创建的方向,可以取值为1和-1...
2019-12-31 14:51:40
320
原创 如何在Django中开启一个定时任务
定时任务使用的场景很多,以定时生成静态首页为例。1. 安装支持包:django-crontab安装方式:pip install django-crontab2. 注册定时应用在settings.INSTALLED_APPS中添加应用:INSTALLED_APPS = [ 'django_crontab', # 定时任务]3. 定时任务crontab的时间...
2019-12-23 16:59:04
510
原创 python中的线程池和进程池简单使用
import timefrom multiprocessing.pool import ThreadPool #注意ThreadPool不在threading模块下from multiprocessing import Pool #导入进程池def my_print(i): print("task start {}".format(i)) time.sleep(4) ...
2019-12-20 16:12:56
355
原创 在多网络接口(IP)环境下Squid,Tinyproxy和DeleGate如何指定出口(IP)
在多网络接口(即多IP)环境下,如何设置代理程序使用的出口(IP)呢?这里的出口(IP)指的是代理程序访问目标网站的时候采用的接口(IP),就是目标网站能够检测到的访问者IP。默认情况下,代理程序都是走的默认路由(接口)。本文的前提是你已经设置好了路由规则,每个接口(IP)都能正常的工作了,如何你还不清楚如何设置多IP环境下的路由,可以参考这篇文章:http://www.plugged.i...
2019-12-12 13:58:35
1757
转载 CentOS 7 安装配置带用户认证的squid代理服务器
一、安装安装过程十分简便,只需要安装一下squid,一条命令搞定yum install squidrpm -qa | grep squidsquid-3.5.20-2.el7_3.2.x86_64二、配置修改squid的配置文件 /etc/squid/squid.conf主要就是配置一下端口,缓存,日志和访问规则。1、如果不需要带用户认证,只需在配置文件后面添加以下内容即可(安...
2019-12-12 13:18:54
692
原创 python3 plistlib讲解,处理XML文件或者XML bytes
python3中plistlib常用的方法有load,loads,dump,dumps,和json中的load,loads,dump,dumps用法类似。load和dump处理文件,loads和dumps处理二进制。安装:pip install plistlib1.写入文件:dumpimport datetimeimport timefrom plistlib impo...
2019-12-11 15:35:30
4027
原创 python 列表套字典,删除某一项
user_list = [{"name":"小明","age":24},{"name":"小红","age":28},{"name":"小李","age":90}]删除小明这个人:new_user_list = [item for item in user_list if not item["name"] == "小明"]或者:new_user_list = [item for item...
2019-12-09 16:23:41
1321
原创 Tmux 使用教程
Tmux 是一个终端复用器(terminal multiplexer),非常有用,属于常用的开发工具。本文介绍如何使用 Tmux。一、Tmux 是什么?1.1 会话与进程命令行的典型使用方式是,打开一个终端窗口(terminal window,以下简称"窗口"),在里面输入命令。用户与计算机的这种临时的交互,称为一次"会话"(session)。会话的一个重要特点是,窗口与...
2019-12-09 10:02:19
214
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人