- 博客(128)
- 资源 (14)
- 收藏
- 关注
原创 超级好用的json格式化工具
你心中的json格式化工具是什么? Json.cn? No No No, 这个已经老掉牙了理想的json格式化工具应该支持搜索、定位、非法json容错,若实在无法格式化则应该给出具体的错误位置,并且可视区要大,如果这正是你心中的json格式化工具,那么可以继续往下看
2023-02-13 00:00:10
989
原创 feapder 与 scrapy 分布式爬虫速度对比
测试用例为使用feapder的分布式爬虫与scrapy-redis爬虫,请求1万次百度,均为32并发1进程的情况下,计算耗时
2022-05-19 17:22:34
536
原创 必备|爬虫工具库-spidertools.cn
爬虫工具库-spidertools.cn 是专为爬虫工程师打造的在线工具库,集合了爬虫工程师常用的工具,如json格式化、header格式化、cookie格式化、curl转python等,致力于提高爬虫开发效率
2022-04-01 10:56:20
5926
1
原创 feapder 与 scrapy 对比分析
本篇文章在源码层面比对feapder、scrapy、scrapy-redis的设计,阅读本文后,会加深您对scrapy以及feapder的了解,以及为什么推荐使用feapderscrapy分析1. 解析函数或数据入库出错,不会重试,会造成一定的数据丢失scrapy自带的重试中间件只支持请求重试,解析函数内异常或者数据入库异常不会重试,但爬虫在请求数据时,往往会有一些意想不到的页面返回来,若我们解析异常了,这条任务岂不是丢了。当然有些大佬可以通过一些自定义中间件的方式或者加异常捕获的方...
2021-09-14 10:41:35
1596
原创 别再用scrapy了,这款爬虫框架让你开发效率飞
为什么不使用scrapyscrapy给我的印象:重,框架中的许多东西都用不到,如CrawlSpider、XMLFeedSpider不好上手,对小白不友好不支持从数据库中取任务作为种子抓取数据入库不支持批量,需要自己写批量逻辑启动方式需要用scrapy命令行,打断点调试不方便举例说明本文以某东的商品爬虫为例,假如我们有1亿个商品,需要每7天全量更新一次,如何做呢?1. 准备种子任务首先需要个种子任务表来存储这些商品id,设计表如下:CREATE TABLE `jd_item_tas
2021-03-15 10:20:49
3285
5
原创 js逆向技巧分享
当我们抓取网页端数据时,经常被加密参数、加密数据所困扰,如何快速定位这些加解密函数,尤为重要。本片文章是我逆向js时一些技巧的总结,如有遗漏,欢迎补充。所需环境:Chrome浏览器1. 搜索1.1 全局搜索适用于根据关键词快速定位关键文件及代码当前页面右键->检查,弹出检查工具搜索支持 关键词、正则表达式1.2 代码内搜索适用于根据关键词快速定位关键代码点击代码,...
2020-02-21 13:56:29
2313
原创 字体加密破解技术分享-01
1. 什么是字体加密简单的说,字体加密即为所复制非所得。如下图,我们复制186.37万字得到????????????????????????万字。那么这里的186.37这个数字就被加密了,用到的技术为字体加密。网址:https://book.qidian.com/info/1013562540字体加密所用范围也很广,如大众点评、猫眼、起点中文网、landchian等。如果我们直接抓取页面源代码,得到的则为一堆无意义的数据。...
2020-02-21 13:56:04
1790
原创 mysql自增id超大问题的排查与解决
这篇文章主要给大家介绍了关于mysql自增id超大问题的排查与解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧引言小A正在balabala写代码呢,DBA小B突然发来了一条消息,“快看看你的用户特定信息表T,里面的主键,也就是自增id,都到16亿了,这才多久,在这样下去过不了多久主键就要超出范围了,插入就会失败,...
2019-01-18 11:40:27
7696
转载 xposed实现插件代码更新同时避免重启系统方案
话说,刚开始接触xposed,就对这个频繁重启不太爽。我很少使用动态调试的方式去跟踪apk,因为处理反调试,开启调试环境(重编、或者开启系统debug开关等)特别麻烦。但是纯粹使用xposed拦截的方式去跟踪业务逻辑呢,修改一个日志打印都需要重启Android系统。所以我就想,能不能做到更新插件代码,不重启Android系统,也让系统生效呢?然后我去研究了xposed源码,和Android相关源码...
2019-01-08 16:13:24
3365
转载 selenium设置chrome和phantomjs的请求头信息
出于反爬虫也好-跳转到手机端页面也好都需要设置请求头,那么如何进行呢? 目录一:selenium设置phantomjs请求头: 二:selenium设置chrome请求头: 三:selenium设置chrome–cookie: 四:selenium设置phantomjs-图片不加载: 一:selenium设置phantomjs请求头:可以复制下列代码运行,会访问http...
2018-11-29 12:44:26
408
原创 pymysql连接池
接触了pymysql,在测试数据过程中,使用普通的pymysql插入100W条数据,消耗时间很漫长,实测990s也就是16.5分钟左右才能插完,于是,脑海中诞生了一个想法,能不能造出一个连接池出来,提升数据呢?就像一根管道太小,那就多加几根管道看效果如何呢?于是。。。前前后后折腾了将近一天时间,就有了本文的诞生。。。2.连接池及单例模式先说单例模式吧,为什么要在这使用单例模式呢?使用单例模...
2018-09-15 13:28:34
3010
1
原创 mysql定时任务,每天凌晨1点执行
执行mysql语句 DO后是需要执行的sql每天凌晨1点执行 CREATE EVENT IF NOT EXISTS temp_event ON SCHEDULE EVERY 1 DAY STARTS DATE_ADD(DATE_ADD(CURDATE(), INTERVAL 1 DAY), INTERVAL 1 HOUR) ON COMPLETION P...
2018-09-14 14:16:43
2859
原创 GitHub上 README 增加图片标签
hey Guys~ 你可能遇到的GitHub上好的项目都有一个非常棒的README,其中不乏用到一些非常好看的标签。比如下面这样:wallefastjson那我们怎样自己添加一个高大上图片标签呢?比如我想添加一个下载标签,就像这样:(点击图片进入下载页)。请按照这样的步骤完成:一: 在shields.io 生成自己的标签,注意:生成栏在网站的最下面,下面的图片就是我...
2018-09-13 15:34:36
1176
原创 git 去除代码行未空格
#!/bin/shif git-rev-parse --verify HEAD >/dev/null 2>&1 ; then against=HEADelse # Initial commit: diff against an empty tree object against=4b825dc642cb6eb9a060e54bf8d69288fbee...
2018-07-22 17:10:04
1718
转载 Python 使用 pip 升级所有包
pip 当前内建命令并不支持升级所有已安装的Python模块。列出当前安装的包:pip list列出可升级的包:pip list --outdate升级一个包:pip install --upgrade requests // mac,linux,unix 在命令前加 sudo -H升级所有可升级的包:$ pip freeze --local | grep -v '^-e' | cut -d =...
2018-07-15 15:47:04
5070
1
原创 github团队合作管理代码
我们团队有6个人,共同开发一个小的项目,我们在github上新建了一个organization,把小组成员加入,然后新建一个repository,把我们项目的初始代码push上去。第一步.每个小组成员folk项目folk之后进入小组成员自己的github仓库,会显示该项目是由哪里folk来的。 然后使用git clone命令把代码clone到本地git clone 地址1第二步.本地更新代码cl...
2018-05-27 09:36:01
2622
转载 THUOCL:清华大学开放中文词库
目录词库简介词库格式及词频统计语料库词库清单IT财经成语地名历史名人诗词医学饮食法律汽车动物开源协议作者词库简介THUOCL(THU Open Chinese Lexicon)是由清华大学自然语言处理与社会人文计算实验室整理推出的一套高质量的中文词库,词表来自主流网站的社会标签、搜索热词、输入法词库等。THUOCL具有以下特点:包含词频统计信息DF值(Document Frequency),方便用...
2018-03-05 11:37:30
4831
原创 Node js 正则
1. Match函数使用指定的正则表达式函数对字符串惊醒查找,并以数组形式返回符合要求的字符串原型:stringObj.match(regExp)参数:stringObj 必选项,需要去进行匹配的字符串RegExp 必选项,指定的正则表达式返回值:如果没有使用g(全局匹配)选项,则返回第一个匹配的字符串、该字符串所在位置及原始字符串组成的数组,如果使用g选项,则返回所有匹配的
2017-11-20 14:44:28
691
转载 python 文本聚类
在本教程中,我会利用 Python 来说明怎样聚类一系列的文档。我所演示的实例会识别出 top 100 电影的(来自 IMDB 列表)剧情简介的隐藏结构。关于这个例子的详细讨论在初始版本里。本教程包括:对所有剧情简介分词(tokenizing)和词干化(stemming)利用 tf-idf 将语料库转换为向量空间(vector space)计算每个文档间的余弦距离(cosine dista
2017-10-23 21:34:56
7566
1
原创 oracle数据会滚
alter table 表名 enable row movement;flashback table 表名 to timestamp to_timestamp('2011-03-04 05:00:00','yyyy-mm-dd HH24:MI:SS'); 时间为需要恢复到的时间节点
2017-09-27 15:56:47
255
原创 ORA-12516 "TNS监听程序找不到符合协议堆栈要求的可用处理程序" 解决方案
前言简单描述一下场景,总共两台应用服务器,每台安装3个tomcat进行集群,并通过nginx做了负载均衡,今天在生产环境中部署项目后进行测试,发现在一台应用服务器中同样的代码,tomcat1和tomcat2正常,而访问tomcat3时报404错误,去看了下log发现是数据库服务器出了问题: 然后登录到DB服务器去看看什么情况,结果登录时发现报以下错误: 居然已经登录
2017-09-25 13:28:52
562
原创 cygwin安装
在windows下通过安装cygwin模拟linux环境,然后再安装hadoop,是一种简单方便的方式。为hadoop准备的windows下cygwin环境安装过程如下:- 下载安装文件最新的cygwin安装文件setup.exe下载地址在这里:http://cygwin.com/install.html。用最新版本的cygwin就可以,我用的是2.774版本的安装程序。- 安装cyg
2017-09-20 20:20:53
374
原创 ElasticSearch笔记
最近我们需要对大约2T(6.5亿条)日志做全文检索,Elasticsearch看起来很火爆,又有很多产品使用(Facebook、github、stackoverflow),值得一试。以下是一些基础知识笔记。Elasticsearch是一个基于Lucene构建的开源、分布式、RESTful的搜索引擎,能够实现近实时(NRT)搜索,稳定、可靠、安装方便。性能不错、水平扩展、文档齐全、社区火爆,
2017-09-01 20:08:54
531
原创 ElasticSearch 踩过的坑
使用ElasticSearch将近3个月了,在使用过程中,陆陆续续踩了不少坑,每次觉得无法逾越时,心里都想放弃,一是因为这东西要完全掌握不是那么容易,需要花很多时间;二是如果继续使用曾经用过的zabbix,说不定可以很快满足眼前的需求,从而可以抽身做其他事情。但坚持下来,就一定能从坑里爬起来,从而对这个系统更加了解,并利用这头”猛兽”帮助我做更多事情。原因很简单,ElasticSearch除了是一
2017-08-30 18:00:40
640
原创 Python ElasticSearch API
描述:ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。下面介绍了利用Python API接口进行数据查询,方便其他系统的调用。 安装API1pip install elasticsearch
2017-08-22 10:31:19
9771
1
原创 pyinstaller的库导入和多进程打包问题
以前使用py2exe进行打包,那也仅限于windows。后来由于工作原因需要在Linux上进行打包操作,那么就不能使用py2exe工具了,后来选择了pyinstaller。在实际应用中,pyinstaller打包的效率和操作性很好,个人觉得比py2exe更加智能,但是也是有一些问题。开发环境:Windows 7 + python3.4一、import导入的问
2017-07-20 15:51:01
1009
原创 Python 结巴分词 关键词抽取分析
1 简介关键词抽取就是从文本里面把跟这篇文档意义最相关的一些词抽取出来。这个可以追溯到文献检索初期,当时还不支持全文搜索的时候,关键词就可以作为搜索这篇论文的词语。因此,目前依然可以在论文中看到关键词这一项。除了这些,关键词还可以在文本聚类、分类、自动摘要等领域中有着重要的作用。比如在聚类时将关键词相似的几篇文档看成一个团簇,可以大大提高聚类算法的收敛速度;从某天所有的新闻中提取出
2017-03-28 14:36:15
17449
1
转载 突破github的100M单个大文件上传限制
偶尔把几本电子书传到github上,其中一本关于c++的有147M(在本地磁盘占用了150M空间),使用普通的方式,最终会被github 服务器拒绝。在github 官网上也有了相关说明,具体请查看:https://help.github.com/articles/working-with-large-files/https://help.github.com/articles/condi
2017-03-05 01:05:48
534
原创 python post/get 请求
urllibGETf=urllib.urlopen("http://m.cnblogs.com/")s=f.read()print s带参数params = urllib.urlencode({'id': 8, 'name': 'jack', 'age': 25})f = urllib.urlopen("http://localhost:18797/MailCli
2016-11-14 17:58:50
320
原创 python 将数据库导入mysql
#!/usr/bin/python#coding=utf-8import MySQLdbimport leancloudimport sysleancloud.init('7GfUliPOBfzUBqcufluOrAjT', 'cMK8E9N6NvweDvhuigbMxM0o')conn=MySQLdb.connect(host="localhost",user="root",pa
2016-10-17 22:54:12
621
原创 sublime 常用设置
setting-user{ "ignored_packages": [ "Vintage" ], "settings": { "expand_tabs_on_save": true #保存时自动将tab转成空格 }, "trim_trailing_white_space_on_save": true, #保存时去掉
2016-10-12 10:01:19
388
原创 Python多线程学习
一、Python中的线程使用: Python中使用线程有两种方式:函数或者用类来包装线程对象。1、 函数式:调用thread模块中的start_new_thread()函数来产生新线程。如下例: import time import thread def timer(no, interval): cnt = 0 while cnt10:
2016-10-10 09:52:19
317
原创 mongo mongoexport 导出数据
导出的方法如下:-h arg 主机--port arg 端口-u arg 用户名-p arg 密码-d arg 数据库-c arg 集合-f arg 字段名 逗号隔开-q arg 查询条件 json格式--csv 导出csv格式-o arg 导出的文件名最常用的格式:
2016-10-09 13:27:51
4722
原创 计算机网络基础知识总结
计算机网络学习的核心内容就是网络协议的学习。网络协议是为计算机网络中进行数据交换而建立的规则、标准或者说是约定的集合。因为不同用户的数据终端可能采取的字符集是不同的,两者需要进行通信,必须要在一定的标准上进行。一个很形象地比喻就是我们的语言,我们大天朝地广人多,地方性语言也非常丰富,而且方言之间差距巨大。A地区的方言可能B地区的人根本无法接受,所以我们要为全国人名进行沟通建立一个语言标准,这就是我
2016-10-05 20:31:18
539
原创 JAVA Hibernate工作原理及为什么要用
hibernate 简介:hibernate是一个开源框架,它是对象关联关系映射的框架,它对JDBC做了轻量级的封装,而我们java程序员可以使用面向对象的思想来操纵数据库。hibernate核心接口session:负责被持久化对象CRUD操作sessionFactory:负责初始化hibernate,创建session对象configuration:负责配置并启动hibern
2016-09-14 11:36:54
295
原创 java对象与json对象间的相互转换
1.简单的解析json字符串首先将json字符串转换为json对象,然后再解析json对象,过程如下。JSONObject jsonObject = JSONObject.fromObject(jsonStr);[java] view plain copy"white-space:pre"> 根据j
2016-09-14 09:24:16
368
原创 json 格式解析 及使用
JSON的定义: 一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性。业内主流技术为其提供了完整的解决方案(有点类似于正则表达式 ,获得了当今大部分语言的支持),从而可以在不同平台间进行数据交换。JSON采用兼容性很高的文本格式,同时也具备类似于C语言体系的行为。 – Json.orgJSON Vs XML1.JSON和XML的数据可
2016-09-13 18:05:32
392
原创 字符串数组(String []) 去掉重复值的方法
版权声明:本文为博主原创文章,未经博主允许不得转载。import java.util.ArrayList;public class Try {/** * @去掉重复值*/ public static void main(String[] args) { String test="100,120,166,1555,120,150,100";
2016-09-12 15:38:02
2171
原创 日志级别的选择:Debug、Info、Warn、Error还是Fatal
软件中总免不了要使用诸如 Log4net, Log4j, Tracer 等东东来写日志,不管用什么,这些东东大多是大同小异的,一般都提供了这样5个日志级别: × Debug × Info × Warn × Error × Fatal 一个等级比一个高,但是在具体开发中,关于应该如何选择适应的等级,却没有找到好的文章进行说明。记录一
2016-09-09 17:58:50
873
原创 VIM中文乱码解决方案
set langmenu=zh_CN.utf8set fileencodings=utf-8,cp936,big5,latin1set ambiwidth=doublelet $LANG=’en’或者也可以:set encoding=utf-8set fileencodings=utf-8,chinese,latin-1if has(“win32″)set
2016-09-07 14:22:03
343
json 相关的jar
2016-09-13
CoreBluetooth
2015-10-04
ios蓝牙通信
2015-09-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人