- 博客(42)
- 资源 (1)
- 收藏
- 关注
原创 用余弦相似度破解字体反爬
加密原理分析**字体反爬,即利用自定义的字体文件,改变字符编码到字形之间的映射。**使得浏览器上看似正常的页面,用爬虫获取的数据却是乱码或乱序的。1. 网页分析以猫眼的电影详情页为例,网页上显示的页面是:只关注用户评分项,在源码中显示的是<span class="stonefont">.</span><sp...
2020-04-25 19:26:26 736
原创 Axure 9 使用 font awesome 字体发布原型
如果直接发布,在没有安装Font awesome的电脑上无法正常显示字体图标,需要在发布前进行设置。我使用的版本为Font awesome 6.1.1,安装后在axure中新增3个字体。
2023-10-24 15:35:18 809 2
原创 常用软件推荐
视频录制视频转码视频播放显示按键操作截图动图csv编辑器资源管理器多标签窗口置顶任务栏无界鼠标office安装屏幕亮度调节手柄杀主页劫持redis爬虫原型
2023-10-11 19:50:24 67
原创 利用谷歌地图模拟地图坐标数据
网页导出坐标文件在谷歌地图My Maps中创建地图:https://www.google.com/maps/d/在地图上添加标记,填入名称,系统将自动添加经纬度信息。编辑完成后,导出地图的KML数据;若导出的是KMZ数据,解压后提取KML数据即可。导出时可以勾选导出为KML。python解析坐标文件解析KML中的POI坐标信息。谷歌的KML文件是一种XML文件格式,用python的lxml模块解析即可。import globfrom lxml import etreens = {"k
2022-05-07 09:30:29 802
原创 win10商店打不开解决办法
控制面板打开网络和internet,然后点击internet选项,点高级里面使用TLS1.1和TLS1.2,最后点应用。
2022-01-25 19:33:34 488
原创 命令行中md转pdf
安装pandoc安装pdflatex:无法直接下载到该程序,可以下载miktex,其中会集成该程序更新miktex宏包:打开miktex console,检查更新并安装(该步骤未验证是否必需)开始转换:pandoc.exe README.md -o README.pdf --pdf-engine=xelatex -V CJKmainfont='SimSun'其中SimSun为宋体,可以换成其他字体。...
2022-01-25 19:33:04 569
原创 mongodb tips
导出数据mongoexport卡住不能导出数据时,可以加上--forceTableScan选项来强制扫描表。替换字段内容db.bl.find({}).forEach( function(item) { item.cate = String(item.cate).replace(',','>') ; item.cate_id = String(item.cate_id).replace(',','>') ; db.bl2.save(item); } );
2022-01-25 19:32:07 91
原创 mongo-connector实现MongoDB与elasticsearch实时同步
安装elasticsearch注意:mongo-connector只支持到es5.X,可选择5.6.7版本参考博文:http://www.ruanyifeng.com/blog/2017/08/elasticsearch.htmltips:安装包下载慢:在华为镜像站中下载中文分词组件ik下载慢:安装github加速油猴脚本,选择香港节点设置绑定IP后启动失败:https://blog.csdn.net/chinoukin/article/details/94720970安装kibana
2022-01-25 19:31:58 536
原创 PageRank理解
无论是否加阻尼系数,最后所有点的PageRank和不会改变当每个点的初值设为1/N时,可表示用户最终访问的是某个网页上的概率(1-d)/N的分母在初始值为1/N时才为N
2022-01-25 19:31:13 153
原创 系统迁移至固态心得
在使用分区助手迁移系统后https://www.disktool.cn/jiaocheng/migrate-system.html,即使已经在bios中将SSD设置成第一启动项,仍然不能从固态中启动,这时可以先将原有的机械先卸下来,用固态启动一次,然后关机装机械,再重启就可以正常加载所有硬盘了。...
2022-01-25 19:30:52 131
原创 python csv模块读取\x00
csv模块读取文件时的一般调用:csv.reader(f)若字段中存在\x00,则读取时会报错:line contains NULL byte。csv.reader接受的是一个可迭代对象,故可传入一个生成器对每一行进行处理。csv.reader(row.replace('\x00', ',') for row in f)...
2022-01-25 19:29:48 638
原创 Linux 跳过已存在文件传输文件
scp传输会覆盖原有文件:sudo scp -r local root@host:remote要增量传输可使用rsync:rsync -aWPu local root@host:remote,参数解释:-a:档案模式,保留源文件的所有属性,并递归传输目录-W:不进行增量传输,直接传输整个文件,在带宽较高时适用-P:显示传输进度-u:仅当源主机文件比目标主机中的文件更新时才传输...
2022-01-25 19:29:16 7174
原创 Linux源码编译安装python
下载链接环境检查环境,确保pip可以下载模块。sudo apt-get install opensslsudo apt-get install libssl-dev为防止出现ModuleNotFoundError: No module named '_ctypes'错误:sudo apt-get install libffi-dev安装以3.9.6为例:wget https://www.python.org/ftp/python/3.9.6/Python-3.9.6.tgztar -
2021-08-03 15:09:54 220
原创 ubuntu安装js环境
安装cd ~wget https://mirrors.huaweicloud.com/nodejs/v10.23.0/node-v10.23.0-linux-x64.tar.gztar -xf node-v10.23.0-linux-x64.tar.gzmv node-v10.23.0-linux-x64 nodejsecho 'export NODEJS_HOME=~/nodejs' >> /etc/profileecho 'export PATH=$PATH:$NODEJS_HO
2020-12-01 21:34:33 1124
原创 Linux杀进程利器pkill
按进程名杀死进程Usage: pkill [options] <pattern>Options: -<sig>, --signal <sig> signal to send (either number or name) -e, --echo display what is killed -c, --count count of matching processes -f, --full
2020-11-28 00:28:55 433
原创 python读取包含非法转义符的json
文章目录数据清洗工具选择列文件去重转换csv文件中的特殊字符按id过滤文件的行分组聚合连接文件批量导出mysql表数据清洗工具若未特别注明,本工具集中所有程序的默认输出为直接打印,要输出到文件用> outfile选择列适用于Linux和Windows git bashusage: cut.py [-h] [-d DELIMITER] [-f FIELDS] [infile]取出文件的特定列positional arguments: infile 输入
2020-11-04 22:24:54 1416
原创 Linux中利用csvquote处理csv文件
问题在linux中处理csv文件时,经常会碰到字段中包含,或\n的问题,这种情况下就不能使用awk、cut等命令处理文件解决方案使用csvquote对csv进行预处理。GitHubcsvquote可将csv字段中的,转换为US (unit separator,单元分隔符,ascii码31),将\n转换为RS (record separator,记录分隔符,ascii码30),这样在使用cut等命令时就能将它们当作普通字符处理了。注意事项在使用python处理转换后的文件时,要注意open方法打开
2020-09-24 23:28:40 935
原创 pycharm远程调试
配置:File -> setting -> Project:* -> Python Interpreter -> 点击齿轮图标 add SSH Interpreter需要指定远程同步目录,当前项目会自动同步到远程目录并覆盖远程文件(不会删除远程目录比本地多的文件);若需要马上同步,按【shift+ctrl+alt+x】...
2020-08-25 09:45:41 159
原创 scrapy回调函数中使用异步请求
同步测试在scrapy中使用同步代码会阻塞所有的异步代码:class MySpider(Spider): """测试用脚本""" name = 'spider_test_aio' custom_settings = dict( LOG_LEVEL='DEBUG', ) def start_requests(self): for i in range(10, 0, -1): yield Request('ht
2020-08-14 20:14:33 2949 2
原创 mysql导出csv数据
首先要注意的是,select into outfile只能将文件转储到mysql服务所在的服务器上,不能存到客户机上。要存到客户机上就直接查出来,然后把结果>到文件。配置文件修改默认只能导出到/var/lib/mysql-files/目录下,修改配置文件使其能导出到任意目录下定位配置文件:locate mysqld.cnf修改配置文件,在[mysqld]下加一行:secure_file_priv =重启mysql服务:service mysql restart这时再导出还会有权限问题 ,
2020-08-12 12:09:06 308
原创 pymongo批量写操作bulk_write
对mongodb进行批量写操作,相比单条查询循环操作有很大的性能提升。参数解释bulk_write(requests, ordered=True, bypass_document_validation=False, session=None)requests:一个包含写操作示例的列表(InsertOne, UpdateOne, UpdateMany, ReplaceOne, DeleteOne, or DeleteMany);ordered:表示是否顺序写入,设为True时其中的操作顺序执行,中间
2020-08-07 15:09:16 4272
原创 selenium中使用新版edge
安装seleniumpip3 install selenium下载浏览器对应版本的driver,浏览器版本可在设置-关于 Microsoft Edge中找到,https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/将下载完的可执行文件放入环境变量,并改名为MicrosoftWebDriver.exe测试import timefrom selenium import webdriverdriver = web.
2020-07-28 09:42:55 3934 5
原创 python生成器的send方法
官方文档:generator.send(value)恢复执行并向生成器函数“发送”一个值。 value 参数将成为当前 yield 表达式的结果。 send() 方法会返回生成器所产生的下一个值,或者如果生成器没有产生下一个值就退出则会引发 StopIteration。 当调用 send() 来启动生成器时,它必须以 None 作为调用参数,因为这时没有可以接收值的 yield 表达式。示例:def test(): for i in range(5): sig = yie
2020-07-23 16:21:02 1127
原创 jieba自定义词典问题
默认的切分正则为re_han_default = re.compile("([\u4E00-\u9FD5a-zA-Z0-9+#&\._%]+)", re.U)这样切分不到带其它特殊符号的词,会将其当作句子分隔符。如果要切分的词带有'、-等符号,可以在导入模块后修改该变量:jieba.re_han_default = re.compile(r"([\u4E00-\u9FD5a-zA-Z0-9+#&.\-'_%]+)", re.U)...
2020-07-23 14:52:49 1290 2
原创 pandas.Series.rank
pandas.Series.rank按大小返回series中各元素的排名import pandas as pdseries = pd.Series([15,14,12,14,11])下面的五种method参数用于设置函数对于重复数据的处理方法:average:重复的排名取平均值series.rank(method='average')0 5.01 3.52 2.03 3.54 1.0min:重复排名取最小值series.rank(met
2020-07-21 19:46:38 324
原创 python动态修改类方法和实例方法
修改类方法直接将函数绑定到原有的方法上,函数的第一个参数依然是实例self,修改后的方法不仅会作用于新创建的实例,也会作用于修改前创建的实例。class Student: def __init__(self, name): self.name = name def self_introduce(self): print(f'I am {self.name}.')def new_self_introduce(self): print(f'My
2020-07-15 12:14:26 7291
原创 Linux的json解析神器jq
官方手册常用方法:将jsonlines转换成csv示例输入:{“a”:1,“b”:3}{“a”:2,“c”:4}选项说明:-s 将所有输入转换成一个数组-r 输出原始字符串,而非json文本文件的第一行的key当作csv的标题:jq -rs '(.[0] | keys_unsorted) as $keys | $keys, map([.[ $keys[] ]])[] | @csv ' infile输出:“a”,“b”1,32,文件所有行的key当作csv的标题
2020-06-13 16:17:11 400
原创 python读取文件方法详解
read @abstractmethod def read(self, n: int = -1) -> AnyStr: pass从当前位置读取到文件末尾,带参数则表示读取n个字符readline @abstractmethod def readline(self, limit: int = -1) -> AnyStr: pass从当前位置读取到行末,带参数时行为与read一致readlines @abstract
2020-05-25 12:44:17 738
原创 PaddlePaddle视频分类
PaddlePaddle视频分类模型的使用环境配置安装paddlepaddle相关模块:pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple paddlepaddle-gpupip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple wget克隆代码:git clon...
2020-04-25 19:30:26 1127
原创 安装CUDA、cuDNN和TensorFlow
CUDA下载链接安装方法在下载页面里可见,使用runfile安装较为方便。Tensorflow只支持到10.0,这里我们下载10.0的版本。安装完后编辑环境变量,sudo vim ~/.bashrc,加入:export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-10.0/lib64export PATH=$PATH:/usr/loc...
2020-04-25 19:28:56 256
原创 获取全球行政区划
在qq的安装目录下找到Tencent\QQIntl\I18N\2052\LocList.xml,按照xml格式存储,其中国内精确到区县,国外精确到市。若要将其转换成csv:from lxml import etreexml = etree.parse(r"C:\Users\hmy\Documents\行政区划\LocList.xml")CountryRegion = xml.xpath('...
2020-04-25 19:24:31 1240
原创 scrapy常见问题和技巧
爬虫启动时项目中的所有python脚本都会执行,因此不需要执行的代码要放在函数或类里。scrapyd-deploy安装完成后执行显示不存在:scrapyd-deploy在python的script目录下,需要新建scrapyd-deploy.bat并写入@echo offpython scrapyd-deploy路径 %*scrapyd部署错误:安装twisted==1...
2020-04-25 19:23:51 251
原创 js获取网页元素文本
若页面未引入jQuery,先导入:var importJs=document.createElement('script')importJs.setAttribute("type","text/javascript")importJs.setAttribute("src", 'https://ajax.microsoft.com/ajax/jquery/jquery-1.4.min.js')...
2020-04-25 19:21:44 4491
原创 Python列表插入元素性能测试
在列表的每个元素后插入1,用于构造ssdb参数:import timea = list(range(100000))length = len(a)def method1(): time1 = time.time() b = [1] * length * 2 for index in range(length): b[index * 2] = a...
2020-04-25 19:18:31 274
原创 使用pyhook3/pynput实现键盘连发
安装pyhook在窗口标题为中文时会报错,必须安装pyhook3。pip install pyhook3可能存在以下问题:swig.exe不存在:http://www.swig.org/download.html下载解压,并将目录添加到环境变量中提示缺少VC++ 14.0:Visual C++ Build Tools 2015下载安装,按默认值即可cl.exe不存在打开...
2020-04-25 19:17:39 1016 1
原创 更换pip源
清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/阿里云 http://mirrors.aliyun.com/pypi/simple/中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/豆瓣 http://pypi.douban.com/simple/...
2020-04-25 19:15:14 418
原创 collections-----容器数据类型
ChainMap 对象链映射,可以看作一类特殊的字典列表。from collections import ChainMap# 创建链式映射,参数默认为1个空字典cm = ChainMap({'a': 1}, {'a': 2}, {'b': 3})# 返回字典列表,按创建时的参数顺序排列print('\nmaps:\n', cm.maps)# 返回所有的键,按创建时的参数逆序排列...
2020-04-25 19:14:18 105
原创 常用文件处理命令
split将文件切割成N份:split -n l/N -d inputfile output_prefixmv批量命名文件ls|xargs -i{} mv {} {}.csv
2020-04-25 19:12:15 192
原创 awk注意事项
当用awk正则匹配单引号时,需要将'替换成'\'赋值语句会返回当前值,例:awk 'BEGIN{print (b=3)+1}'输出4变量无需初始化,若参与数值运算则自动初始化为0,直接打印输出的是空字符串利用以上两点可输出文件的奇偶行输出奇数行:awk 'i=!i'输出偶数行:awk '!(i=!i)'...
2020-04-25 19:03:54 179
原创 mongodb安装和配置
Ubuntu16.04安装:①sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4②echo “deb [ arch=amd64,arm64,ppc64el,s390x ] http://repo.mongodb.com/apt/ubu...
2020-04-25 18:49:12 561
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人