browser.maximize_window() 最大化窗口 browser.execute_script(js) 执行JS脚本 element.get_attribute('src') 获取元素属性 保存页面所有图片...element in driver.find_elements_by_xpath(xpath): img_url = element.get_attribute('src') # 保存图片到指定路径...m += 1 ext = img_url.split('.')[-1] filename = str(m) + '.' + ext #保存图片数据
需求除了导数据外, 有时候还要导出用户授权信息.而官方的show grants 命令一次只能查询一个用户SHOW GRANTS [FOR user]常用的做法就是写脚本, 但这么个小事情还专门写脚本就太麻烦了...实现我们可以通过如下SQL得到查询所有用户授权信息的SQLselect concat('show grants for "',user,'"@"',host,'";') from mysql.user;...;""" | mysql -h127.0.0.1 -P3308 -p123456 -NB | mysql -h127.0.0.1 -P3308 -p123456 -NB图片这样便得到了所有用户的授权信息...再小小的优化一下MYSQL_CONN="mysql -h127.0.0.1 -P3308 -p123456 -NB"echo """select concat('show grants for \"',...user,'\"@\"',host,'\";') from mysql.user;""" | $MYSQL_CONN|$MYSQL_CONN图片这样便好看多了.以后有导出授权DDL的时候就可以跑这个命令了
如何抓取页面所有内容 基本需求 抓取页面所有内容主要包括一下内容: 页面内元素 页面元素包含服务端直接返回的元素,动态构建的元素 页面内所有资源 页面所有资源包含本页面所在域资源以及第三方域资源...绝对路径2 这种表示方式会自动根据浏览器打开该页面的协议请求时加入协议(protocol),本地保存后,基于...获取响应内容 浏览器把响应内容交给上层渲染引擎 渲染引擎处理 在整个过程中,puppeteer提供了一种机制让我们有机会拦截到2和3这两个阶段,基于这点,我们可以做更多的事情,比如我们可以拦截页面的所有请求...,可以截获所有的响应,而不用关注请求的去向,因为只要请求发出去了,就能受我们的控制,另外,由于是使用浏览器本身,所以跟直接http get 页面最大的区别在于前者是渲染后的,后者是原始的,前者对SPA...const util = require('util'); const path = require('path'); const shell = require('shelljs'); //资源保存目录
之前给大家推荐过一个下载音乐的网站 点我查看下载各大网站会员音乐 今天就再推荐一个 几乎可以下载所有音频的网站 这个网站是一位昵称叫樱花句的可爱的小姐姐在公号后台推荐的 感谢小姐姐~如果大家有好玩好用的东西...对,就是这么简单╭(╯^╰)╮ 需要注意的是,网站的口号是: 从几乎所有的网站免费保存任何音频 所以说,当浏览到某个页面时,发现背景音乐很好听,也可以把页面链接复制过去试试,网站会嗅探链接页面包含的音频并提取真实链接以供下载
dbredis进程,打开了不止一个数据库, 默认打开16个数据库,从0到15编号eg: keys * move site 1 select 1 keys * 14.flushdb 清空当前数据库中的所有
顺带说下,在~/.gdbinit可以放入你常用的一些gdb设置命令。...vtbl on set print demangle on set demangle-style gnu-v3 set print sevenbit-strings off ---- 二、gdb调试历史保存...还有一个比较有用的是保存gdb调试历史,set history save on 一个相关的命令是set history remove-duplicates ....该命令是“控制删除命令历史列表中重复的历史条目。如果计数不为零,gdb 将回顾最后计数的历史条目并删除与当前条目重复的第一个条目。添加到命令历史列表中。如果计数是无限制的,那么此后视是无界的。...set history remove-duplicates 默认情况下,gdb 将历史记录保存到当前目录的./.gdb_history 文件中。
adb root //restarts adb with root permissions
查看binlog过期时间,设置的时间为90天,这个值默认是0天,也就是说不自动清理,可以根据生产情况修改,本例修改为7天 mysql> show variables like 'expire_logs_days...-----------+-------+ | expire_logs_days | 90 | +------------------+-------+ 1 row in set (0.00 sec) mysql...将会new一个新文件用于记录binlog) 我们执行flush logs; mysql> flush logs; Query OK, 0 rows affected, 64 warnings (0.16...sec 如果binlog非常多,不要轻易设置改参数,有可能导致io争用,这时候可以使用purge命令予以清除: 将bin.000055之前的binlog清掉: mysql>purge binary logs...to 'bin.000055'; 将指定时间之前的binlog清掉: mysql>purge binary logs before '2017-05-01 13:09:51';
代码中代理有一定问题,由于知乎是走https,普通http代理没法用,实际运行中就算用了代理还是走本地ip 该程序中用到(可以初步理解): 1.python连接数据库:Mysql-connector 2....re正则表达式 3.requests用法:代理,post,get,headers等 4.验证码抓取 5.文件保存和读取 运行截图: ?..._ import unicode_literals import requests import re import time from subprocess import Popen import mysql.connector...= 'https://www.zhihu.com' + list_mine_url[i] #print '收藏夹地址:', list_mine_url conn = mysql.connector.connect
一、Redis全局键值结构说明 为了实现从键到值的快速访问,Redis 使用了一个哈希表来保存所有键值对。 注意这个全局哈希表是存储所有的键值对的,所以,我也把它称为全局哈希表。...链式哈希也很容易理解,就是指同一个哈希桶中的多个元素用一个链表来保存,它们之间依次用指针连接。...占用8个字节 2.2 方法二、rehash rehash过程 当链式哈希的链长达到一定长度时,我们可以使用 rehash 过程如下: 1、Redis 准备了两个哈希表,用于 rehash 时交替保存数据...2、在正常服务请求阶段,所有的键值对写入哈希表1。 3、当进行 rehash 时,键值对被迁移到哈希表2中。...简单来说就是在第二步拷贝数据时,Redis 仍然正常处理客户端请求,每处理一个请求时,从哈希表 1 中的第一个索引位置开始,顺带着将这个索引位置上的所有 entries 拷贝到哈希表 2 中;等处理下一个请求时
如果没有将mysql注册为系统服务,那么我们可以使用MySQL为我们提供的一些工具来开启,关闭,重启mysql。当然,mysql服务脚本对mysql的操作也是调用这些工具来完成的。...image.png 如果我们按照上面的操作将mysql注册为系统服务的话,使用service来开启,关闭,重启mysql非常方便,命令如下: #重启 service mysqld restart #开启...mysql为我们提供的服务脚本mysql.server来管理mysql的开启和关闭。...重启mysql: 查看mysql的服务脚本mysql.server或者mysqld,我发现重启mysql也是先关闭,再启动。...所以没有直接重启的命令,还是乖乖的先关闭,再启动吧! 当然,利用mysql提供的工具来控制mysql的开启和关闭,应该还有其它的方法,我目前还不要太清楚,有知道的请留言告知,万分感谢!
如何获取MySql中所有表的的表名? sql语句是:show tables 返回结果如下: 不仅仅返回了所有的表名,更返回了视图的名字。
尤记得很久以前,想存 emoj 表情到 mysql 中,需要额外的将 emoj 表情转码之后保存,每次读取时,再解码还原成一下;每次这种 sb 的操作,真心感觉心塞,那么有没有办法直接存呢?...(SQLError.java:1084) ~[mysql-connector-java-5.1.30.jar:na] at com.mysql.jdbc.MysqlIO.checkErrorPacket...(MysqlIO.java:4232) ~[mysql-connector-java-5.1.30.jar:na] at com.mysql.jdbc.MysqlIO.checkErrorPacket...替换之前的com.mysql.jdbc.Driver II....一灰灰 Blog 尽信书则不如,以上内容,纯属一家之言,因个人能力有限,难免有疏漏和错误之处,如发现 bug 或者有更好的建议,欢迎批评指正,不吝感激 下面一灰灰的个人博客,记录所有学习和工作中的博文,
问题 我需要把一个文件内的所有内容读取到一个 std::string 中。
前言 开发者必备Mysql常用命令,涵盖了数据定义语句、数据操纵语句及数据控制语句,基于Mysql5.7。...数据定义语句(DDL) 数据库操作 登录数据库: mysql -uroot -proot 创建数据库: create database test 查看所有数据库: show databases 选择数据库并使用...查看账号权限: show grants for 'test'@'localhost' 收回操作权限: revoke insert on test.* from 'test'@'localhost' 授予所有数据库的所有权限...: grant all privileges on *.* to 'test'@'localhost' 授予所有数据库的所有权限(包括grant): grant all privileges on *....database test2 character set utf8 时区相关 查看当前时区(UTC为世界统一时间,中国为UTC+8): show variables like "%time_zone%" 修改mysql
> create database testdb; Query OK, 1 row affected (0.03 sec) mysql> use testdb; Database changed mysql...('{"x": 17, "x": "red"}'), ('{"x": 17, "x": "red", "x": [3, 5, 7]}'); 当我们插入的 json 中包含多个相同字段,表中只会保存最后一个值...--------------------------------+ 3 rows in set (0.00 sec) 官方文档提示在 8.0.3 版本中有bug,上述同一 json 中相同字段情况,会保存第一个值...小闫使用的版本为8.0.19,此bug已修复,最终效果为保存最后一个值。...3) 原来 mysql 支持的 UTF-8 编码最大字符长度为 3 字节,如果遇到 4 字节的宽字符就会插入异常了。
DefaultCellStyle.BackColor = Color.LightPink; } } } /// /// 保存...dataGridView所有記錄 /// 塗聚文 2011-10-13 /// 締友計算機信息技術有限公司 ///
应用场景 git stash 命令用于将工作区中的更改和暂存区中的内容储存起来 日常开发中,会经常遇到这种场景 我们正在 dev 分支开发新功能,做到一半时,产品经理过来和我们反馈了一个紧急 bug,需要马上解决...这时可以使用 git stash push 先将当前进度保存起来,然后去修复 bug,修复完后使用 git stash apply 恢复之前保存的进度即可 场景1、需要切换到另一个分支(master)处理...查看储藏 查看所有储藏(所有分支共享储藏内容,而不是像提交记录每个分支都是独立的) git stash list 查看文件变动差异 # 显示哪些文件变动了几行 git stash show <stash...删除储藏 删除某个储藏 git stash drop 清除所有储藏 git stash clear 5....应用储藏 # 应用指定的储藏 git stash apply # 应用并删除指定的储藏 git stash pop 指的是 git stash list 命令输出结果左侧的值
docker中 启动所有的容器命令 docker start $(docker ps -a | awk '{ print $1}' | tail -n +2) docker中 关闭所有的容器命令...docker stop $(docker ps -a | awk '{ print $1}' | tail -n +2) docker中 删除所有的容器命令 docker rm $(docker ps...-a | awk '{ print $1}' | tail -n +2) docker中 删除所有的镜像 docker rmi $(docker images | awk '{print $3}'