求助PHPjava 正则截取url参数提取网页内容 http://www.ishadowsocks.net 截取这个网站上面的账号

作者:孙伟伟
最新的lnmp一键包1.2里,可以选择mysql5.6版本安装,但是最近发现mysql有时候会出现挂掉的情况,看一下mysql错误日志,应该是内存占满导致的,1G内存的vps是伤不起的。。
重启mysql服务后,top一下发现这一个mysql服务就占用了500多MB内存。。
Google一番,贴一下记录:
mysql5.6的默认配置是不适合小型站点的,win的话在my.ini里修改、linux则在/f里修改performance_schema_max_table_instances参数,有就修改,没有就追加:
performance_schema_max_table_instances=400
table_definition_cache=400
table_open_cache=256
修改完毕后,重启mysql服务,service mysql restart,然后top后发现内存占用少了一半,应该还有很大优化空间,鉴于内存基本够用了,就不继续折腾了。
作者:孙伟伟
应用场景:
1、在excel中,有很多型号的产品名称,需要鼠标悬浮到某产品型号上自动在excel中显示对应的图片,用来对比筛选
2、公司举行某活动,需要对用户反馈的图片进行人工甄选、审查等等,具体用途可以拓展。
使用方法:
为下面宏命令添加快捷键,可将其导出为加载宏,在excel中调用该加载宏,使用快捷键即可批量快速给目标单元格加上图片批注。
宏命令如下:
'***************************************************
'* 加载宏:excel图片批量添加批注功能
'* 功能描述:对本地文档里图片,自动进行对应至excel中单元格
'* 作 者:simon
'* 作者博客:
'* 日 期:
'* 版 本:V1.0.0
'***************************************************
'整行注释的为在读取图片尺寸时不需要的文件头信息
'BMP文件头
Private Type BitmapFileHeader
bfType As Integer '标识 0,1 两个字节为 42 4D 低位在前,即 19778
bfReserved2 As Integer
bfOffBits As Long
bfReserved1 As Integer
bfSize As Long
Private Type BitmapInfoHeader
biSize As Long
biWidth As Long '宽度 18,19,20,21 四个字节,低位在前
biHeight As Long '高度 22,23,24,25 四个字节,低位在前
' biPlanes As Integer
' biBitCount As Integer
' biCompression As Long
' biSizeImage As Long
' biXPelsPerMeter As Long
' biYPelsPerMeter As Long
' biClrUsed As Long
' biClrImportant As Long
'JPEG(这个好麻烦)
Private Type LSJPEGHeader
jSOI As Integer '图像开始标识 0,1 两个字节为 FF D8 低位在前,即 -9985
jAPP0 As Integer 'APP0块标识 2,3 两个字节为 FF E0
jAPP0Length(1) As Byte 'APP0块标识后的长度,两个字节,高位在前
' jJFIFName As Long 'JFIF标识 49(J) 48(F) 44(I) 52(F)
' jJFIFVer1 As Byte 'JFIF版本
' jJFIFVer2 As Byte 'JFIF版本
' jJFIFVer3 As Byte 'JFIF版本
' jJFIFUnit As Byte
' jJFIFX As Integer
' jJFIFY As Integer
' jJFIFsX As Byte
' jJFIFsY As Byte
Private Type LSJPEGChunk
jcType As Integer '标识(按顺序):APPn(0,1~15)为 FF E1~FF EF; DQT为 FF DB(-9217)
'SOFn(0~3)为 FF C0(-16129),FF C1(-15873),FF C2(-15617),FF C3(-15361)
'DHT为 FF C4(-15105); 图像数据开始为 FF DA
jcLength(1) As Byte '标识后的长度,两个字节,高位在前
'若标识为SOFn,则读取以下信息;否则按照长度跳过,读下一块
jBlock As Byte '数据采样块大小 08 or 0C or 10
jHeight(1) As Byte '高度两个字节,高位在前
jWidth(1) As Byte '宽度两个字节,高位在前
' jColorType As Byte '颜色类型 03,后跟9字节,然后是DHT
'PNG文件头
Private Type LSPNGHeader
pType As Long '标识 0,1,2,3 四个字节为 89 50(P) 4E(N) 47(G) 低位在前,即
pType2 As Long '标识 4,5,6,7 四个字节为 0D 0A 1A 0A
pIHDRLength As Long 'IHDR块标识后的长度,疑似固定 00 0D,高位在前,即 13
pIHDRName As Long 'IHDR块标识 49(I) 48(H) 44(D) 52(R)
Pwidth(3) As Byte '宽度 16,17,18,19 四个字节,高位在前
Pheight(3) As Byte '高度 20,21,22,23 四个字节,高位在前
' pBitDepth As Byte
' pColorType As Byte
' pCompress As Byte
' pFilter As Byte
' pInterlace As Byte
'GIF文件头(这个好简单)
Private Type LSGIFHeader
gType1 As Long '标识 0,1,2,3 四个字节为 47(G) 49(I) 46(F) 38(8) 低位在前,即
gType2 As Integer '版本 4,5 两个字节为 7a单幅静止图像9a若干幅图像形成连续动画
gWidth As Integer '宽度 6,7 两个字节,低位在前
gHeight As Integer '高度 8,9 两个字节,低位在前
Public Function PictureSize(ByVal picPath As String, ByRef Width As Long, ByRef Height As Long) As String
Dim iFile As Integer
Dim jpg As LSJPEGHeader
Width = 0: Height = 0 '预输出:0 * 0
If picPath = && Then PictureSize = &null&: Exit Function '文件路径为空
If Dir(picPath) = && Then PictureSize = &not exist&: Exit Function '文件不存在
PictureSize = &error& '预定义:出错
iFile = FreeFile()
Open picPath For Binary Access Read As #iFile
Get #iFile, , jpg
If jpg.jSOI = -9985 Then
Dim jpg2 As LSJPEGChunk, pass As Long
pass = 5 + jpg.jAPP0Length(0) * 256 + jpg.jAPP0Length(1) '高位在前的计算方法
PictureSize = &JPEG error& 'JPEG分析出错
Get #iFile, pass, jpg2
If jpg2.jcType = -16129 Or jpg2.jcType = -15873 Or jpg2.jcType = -15617 Or jpg2.jcType = -15361 Then
Width = jpg2.jWidth(0) * 256 + jpg2.jWidth(1)
Height = jpg2.jHeight(0) * 256 + jpg2.jHeight(1)
PictureSize = Width & &*& & Height
'PictureSize = &JPEG& 'JPEG分析成功
pass = pass + jpg2.jcLength(0) * 256 + jpg2.jcLength(1) + 2
Loop While jpg2.jcType && -15105 'And pass & LOF(iFile)
ElseIf jpg.jSOI = 19778 Then
Dim bmp As BitmapInfoHeader
Get #iFile, 15, bmp
Width = bmp.biWidth
Height = bmp.biHeight
PictureSize = Width & &*& & Height
' PictureSize = &BMP& 'BMP分析成功
Dim png As LSPNGHeader
Get #iFile, 1, png
If png.pType =
Width = png.Pwidth(0) *
+ png.Pwidth(1) * 65536 + png.Pwidth(2) * 256 + png.Pwidth(3)
Height = png.Pheight(0) *
+ png.Pheight(1) * 65536 + png.Pheight(2) * 256 + png.Pheight(3)
PictureSize = Width & &*& & Height
'PictureSize = &PNG& 'PNG分析成功
ElseIf png.pType =
Dim gif As LSGIFHeader
Get #iFile, 1, gif
Width = gif.gWidth
Height = gif.gHeight
PictureSize = Width & &*& & Height
'PictureSize = &GIF& 'GIF分析成功
PictureSize = &unknow& '文件类型未知
Close #iFile
End Function
'*************************
Sub 添加图片批注()
Dim 单元格
Dim w As Long, h As Long
Dim f As String '图片文件完成路径
Dim t As String
Dim Pwidth As Long, Pheight As Long
Dim Psize As String
On Error Resume Next
For Each 单元格 In Selection
单元格.AddComment
单元格.Comment.Shape.Fill.UserPicture ActiveWorkbook.Path & &\pic\& & Replace(单元格.Value, &[图片]&, &&) & &.jpg&
f = ActiveWorkbook.Path & &\pic\& & Replace(单元格.Value, &[图片]&, &&) & &.jpg& '图片文件完成路径
Psize = PictureSize(f, w, h) '运行宏,w,h就是对应图片的width height ,返回 width*height
If Len(Psize) & 0 Then
Pwidth = Val(Split(Psize, &*&)(0)) '返回 图片 宽
Pheight = Val(Split(Psize, &*&)(1)) '返回 图片 高
单元格.Comment.Shape.Height = Pheight / 4
单元格.Comment.Shape.Width = Pwidth / 4
Next 单元格
作者:孙伟伟
一、标准API接口WinINet(Microsoft Windows Internet)和WinHTTP(Microsoft Windows HTTP)
实现Http访问,微软提供了二套API:WinINet, WinHTTP(分别封装于system32目录下的wininet.dll和winhttp.dll内)
二者主要区别在于后者更为安全和稳定,可以说WinHTTP是WinINet的升级版
LZ所提的UDF WinHTTP.au3就是直接调用标准接口写成的自定义函数库文件
二、COM对象XMLHttpRequest和WinHttpRequest和ServerXMLHTTPRequest
XMLHttpRequest是基于WinInet封装的,
而WinHttpRequest和ServerXMLHTTPRequest则是基于WinHTTP封装的
所以三者的稳定性属XMLHttpRequest为最差
封装成COM形式主要是为了方便js vbs等脚本的调用,还具有易书写、降低开发难度等许多特点把
三、对象版本和封装位置
1、XMLHttpRequest对象版本和对应的封装dll文件
Microsoft.XMLHTTP 对应 msxml.dll
MSXML2.XMLHTTP 对应 msxml2.dll
MSXML2.XMLHTTP.3.0 对应 msxml3.dll
MSXML2.XMLHTTP.4.0 对应 msxml4.dll
MSXML2.XMLHTTP.5.0 对应 msxml5.dll(此版本是伴随office2007发布的,所以目录下可能找不到该版本的dll)
MSXML2.XMLHTTP.6.0 对应 msxml6.dll
如上各个dll的发布一般都是以补丁的形式发布,win7默认都集成了吧
2、ServerXMLHTTP对象版本和对应的封装dll文件
Msxml2.ServerXMLHTTP 对应 msxml2.dll(win7自带,下同!)
Msxml2.ServerXMLHTTP.3.0 对应 msxml3.dll
Msxml2.ServerXMLHTTP.4.0 对应 msxml4.dll
Msxml2.ServerXMLHTTP.5.0 对应 msxml5.dll
Msxml2.ServerXMLHTTP.6.0 对应 msxml6.dll
3、WinHttpRequest对象
WinHttp.WinHttpRequest.5.1 对应 Winhttp.dll
(如上高版本的通常稳定性会好一点)
四、对象成员(属性、方法、事件等),主要优缺点
XMLRequest成员参考
缺点:和浏览器挂钩,大多情况下会共享cookies,session,不支持单独设置代理
优点:和浏览器挂钩,大多情况下会共享cookies,session
ServerXMLHTTP成员参考
缺点:系统没有对应dll的情况下程序需要外挂一个dll文件
优点:脱离浏览器,使用代理方便
WinHttpRequest成员参考
缺点:暂无
优点:脱离浏览器,使用代理方便
作者:孙伟伟
啥是进程?进程是一个正在运行的程序的实例,主要由两部分组成:(1)一个操作系统用来管理进程的内核对象。(2)创建时系统所分配的资源,主要是内存地址空间。
为啥要了解进程间数据通信?如果需要在多进程运行下进行协同工作,那么就需要掌握该知识。进程间通信是指在多进程环境下,使用的数据交互、事件通知等方法使各进程协同工作。
常用的有4种:消息传递、共享内存、管道、剪贴板:
(1)消息传递:不以进程为界限,处理消息的是窗体(包括子窗体、控件等),而与是否在同一进程无关。
如SendMessage(hwnd,WM_COPYDATA,wParam,lParam); 其中wParam设置为包含数据的窗口的句柄。lParam指向一个COPYDATASTRUCT的结构:
typedef struct tagCOPYDATASTRUCT{
DWORD dwD//用户定义数据
DWORD cbD//数据大小
PVOID lpD//指向数据的指针
};该结构用来定义用户数据。
(2)共享内存:在一个进程内创建内存映射,却能够在其他都个进程中使用。这些进程共享的是物理存储器的同一个页面,在把这些物理内存映射到虚拟内存时各个进程的虚拟地址并不一定相同。当一个进程将数据写入共享内存时,其他进程可以立即获取数据变更情况。
(3)管道和邮槽:其实是对共享内存的两种不同的封装机制。
(4)剪贴板:Windows系统支持剪贴板IPC的基本机制是由系统预留的一块全局共享内存,可用于被各进程暂时存储数据。写入进程首先创建一个全局内存块,并将数据写到该内存块;接受数据的进程通过剪贴板机制获取此内存块的句柄,并完成对该内存块数据的读取。
关于内存映射:如果物理内存只有一份,让这份内存在不同的进程中,映射到各自的虚拟地址空间上,每个进程都可以读取同一份数据,是一种最高效的数据交换方法。
下面开始讲述共享内存映射的方式:
首先使用函数CreateFileMapping来创建一个想共享的文件数据句柄,然后使用MapViewOfFile来获取共享的内存地址,然后使用OpenFileMapping函数在另一个进程里打开共享文件的名称,这样就可以实现不同的进程共享数据
比如有A、B两个进程,
1、A进程中调用内存映射API函数CreateFileMapping创建一个有名字标识的共享内存;
CreateFileMapping原型:
HANDLE CreateFileMapping(
HANDLE hFile, //物理文件句柄
LPSECURITY_ATTRIBUTES lpAttributes, //安全设置
DWORD flProtect, //保护设置
DWORD dwMaximumSizeHigh, //高位文件大小
DWORD dwMaximumSizeLow, //低位文件大小
LPCTSTR lpName //共享内存名称
2、再调用MapViewOfFile函数来映射本进程的地址空间(MapViewOfFile支持映射一个超过4G大小的文件,但地址空间最大只有 4G,可以通过设置Offset来只映射一部分文件 )
LPVOID WINAPI MapViewOfFile(
__in HANDLE hFileMappingObject,
__in DWORD dwDesiredAccess,
__in DWORD dwFileOffsetHigh,
__in DWORD dwFileOffsetLow,
__in SIZE_T dwNumberOfBytesToMap
hMemFile = CreateFileMappingA (-1, 0, 4, 0, 文本长度, 指针名)’内存文件映射对象
LPSTR = MapViewOfFile (hMemFile, 2, 0, 0, 0) ‘ FILE_MAP_WRITE = 2‘
将待置入的文本写到内存中,用完共享内存,再调用 UnmapViewOfFile 回收内存地址空间UnmapViewOfFile (LPSTR)
3、B进程中读取该内存地址:
hMemFile = OpenFileMappingA (4,True, Lpname)’打开文件映射对象
LPSTR = MapViewOfFile (hMemFile, 4, 0, 0, 0) ‘ FILE_MAP_READ = 4‘MapViewOfFile函数来映射该内存地址
读取指针上数据到文本,再调用UnmapViewOfFile回收内存地址空间UnmapViewOfFile (LPSTR)
相关链接:
1、Windows 下的进程间通讯及数据共享:
/2005/10/interprocess_communications.html
2、win32下进程间通信——共享内存
http://blog.csdn.net/sszgg2006/article/details/8573348
2、Windows编程专家张静盛指点进程间通信
/art/40_all.htm
作者:孙伟伟
最近帮别人做一个词性词频统计工具,顺便又有一个小需求:需要在word中设置个宏命令,用来根据本地指定txt(如word.txt)中的多个词语,检索word中所有出现的词语,宏命令需要对这些词加粗/颜色/背景色或者替换成其它内容,突出高亮显示该词。打开word后,只需要按一下快捷键即可自动执行操作。
宏命令简介:即在office中可以进行批量辅助操作的工具,可通过自带的vba编写。其优点是可视化操作、不需要另外开发软件来进行一些小型且有逻辑性的批量处理需求,比较小巧方便。(不是每个需求都要搞个软件出来,效率易用很重要)
当然宏命令有缺点,功能没有一般编程语言那么强大,且因为是vb语法,写起来很dt,而且自动补全竟然还和搜狗输入法冲突,只能通过点击菜单来自动补全,对新手来说,完全没有pycharm中的流畅感。。。还好学习成本不高,研究一会儿大致就能鼓捣个功能出来。
VBA其实并不复杂,门槛比较低,刚接触这块可能会比较陌生,推荐下我的快速学习方法,直接在word中录制宏,随便执行几个操作,然后在vba里查看脚本的代码,分析一下语法,需要什么功能谷歌一下不要用百度,找找差不多代码了解下原理基本就OK了。
好了,脚本如下,有此类需求的可以拿去直接修改修改就能用了。
脚本说明:其中ActiveDocument.Path是获取doc所在的当前目录;word.txt为存放待查找的词语文件(格式为一行一个);fso为创建的对象,nr为读取txt的文本内容,vbCrLf为vb里规定的回车符+换行符,arr为词语的数组形式,UBound是取数组最大下标,玩过按键精灵的可能比较熟悉,通过arr(i)来定位每一个元素,之后执行一个for循环,设定待查找文本.Text = arr(i),wdReplaceAll全部替换成另外的格式,Selection.Find.Replacement.Font里各参数表示替换后的格式,可以是各种姿势以达到你的需求。
使用方法:直接复制到你的宏命令里,然后在word的自定义功能里,给这个宏添加个快捷键,这样就可以通过快捷键自动执行了。
我这里衍生一下,这个脚本可以衍生成一个文章的“伪原创”工具,比如同义词批量替换,反义词替换等等,只需要设定好要替换的内容。
好了,废话太多了,周末愉快~
Dim fso As Object
Set fso = CreateObject(&Scripting.FileSystemObject&)
Set f = fso.opentextfile(ActiveDocument.Path + &\word.txt&) '打开文件流
nr = f.readall
arr = Split(nr, vbCrLf) '分割数组
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find.Replacement.Font
.Bold = True
.Color = wdColorRed
Dim i As Long
For i = 0 To UBound(arr)
With Selection.Find
.Text = arr(i)
.Replacement.Text = &&
.Forward = True
.Wrap = wdFindContinue
.Format = True
.MatchCase = False
.MatchWholeWord = False
.MatchByte = True
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
Selection.Find.Execute Replace:=wdReplaceAll
Set fso = Nothing
Set f = Nothing
作者:孙伟伟
环境:centos 6.5 X86_64
yum install wget vim -y
wget -O /etc/yum.repos.d/CentOS-Base.repo /repo/Centos-6.repo
yum makecache
下载软件:
wget ftp://ftp.pbone.net/mirror/ftp.pramberger.at/systems/linux/contrib/rhel5/x86_64/ipsec-tools-libs-0.8.0-1.el5.pp.x86_64.rpm
wget ftp://ftp.pbone.net/mirror/ftp5.gwdg.de/pub/opensuse/repositories/home:/aevseev/CentOS_CentOS-6/x86_64/ipsec-tools-0.8.0-25.3.x86_64.rpm
安装依赖包:
yum install openssl098e-0.9.8e-18.el6_5.2.x86_64 -y
yum install compat-openldap-2.3.43-2.el6.x86_64 -y
rpm -ivh ipsec-tools-libs-0.8.0-1.el5.pp.x86_64.rpm
rpm -ivh ipsec-tools-0.8.0-25.3.x86_64.rpm
作者:孙伟伟
L2TP相比PPTP是另外一种隧道协议方式,部分网络下PPTP无法连接,可以尝试L2TP,一般而言在PC上,两者使用体验没什么不同,技术原理上的不同请参照.
建议PC电脑上优先使用PPTP,无法使用可以尝试L2TP,移动端推荐使用L2TP;
安装方式:
一、一键脚本安装(推荐,安装简单)
安装的软件包版本分别是openswan-2.6.38、xl2tpd-1.2.4
VPS是需要基于Xen或KVM的。
注意:基于 OpenVZ 虚拟化技术的 VPS 需要开启TUN/TAP才能正常使用,购买 VPS 时请先咨询服务商是否支持开启 TUN/TAP。
检测是否支持TUN模块
执行命令:
cat /dev/net/tun
如果返回信息为:cat: /dev/net/tun: File descriptor in bad state 说明正常
检测是否支持ppp模块
执行命令:
cat /dev/ppp
如果返回信息为:cat: /dev/ppp: No such device or address 说明正常
开始安装:终端里运行以下命令(以root用户运行):
wget /files/l2tp.sh #CentOS、Fedora或Redhat系统时执行
wget /files/l2tp_ubuntu.sh #Ubuntu系统时执行此命令
chmod +x *.sh
./l2tp.sh #CentOS、Fedora或Redhat系统时执行
./l2tp_ubuntu.sh #Ubuntu系统时执行此命令&/p&
「Please input IP-Range:」设置网段,一般回车即可
「Please input PSK:」设置你预共享密钥。
执行后,一直等待成功,会显示相关配置信息。
生成的密码是随机的,需要修改的话,执行
vi /etc/ppp/chap-secrets
注意:xp用户使用L2TP方法登陆的话,可能需要查看电脑的IPSec服务是否正常开启,如果关闭请去“控制面板-&管理工具-&服务”开启一下。
二、完整diy脚本(高级用户推荐)
①部署IPSec
作者:孙伟伟
对于新手,整个教程可能会花掉你数小时时间,请做好心理准备。
1、首先必须要有一个PHP+MYSQL的环境,PHP版本&=5.3 MYSQL&=5.0(最好是5.5版本)。
直接执行lnmp1.1官方的安装教程shell,如果是境外主机记得将镜像地址改成国外的,这样快点。
之后一路shell下来,安装上ngnix,mysql,phpmyadmin等等,之前有教程,此处略过。
过程需要30分钟-1小时左右。。。
更新一下yum clean all,yum update
2、安装cymysql
pip install cymysql
如果提示没有安装pip,则直接去pypi下载即可,https://pypi.python.org/pypi/pip/6.0.7
wget https://pypi.python.org/packages/source/p/pip/pip-6.0.7.tar.gz
tar zxvf pip-6.0.7.tar.gz
python setup.py install
如果提示需要的setuptools的话,去下载安装:
wget https://bootstrap.pypa.io/ez_setup.py -O - | python
git clone -b manyuser /mengskysama/shadowsocks.git
如果提示没有安装git,则继续安装git
cd /root/shadowsocks/shadowsocks
创建数据库shadowsocks,然后将shadowsocks.sql导入到你创建的数据库中。如果用命令执行麻烦,可以通过phpmyadmin建数据库,然后导入sql进去。
4、设置数据库
编辑Config.py文件:vi Config.py,修改对应的端口、密码等等操作。
5、开启服务
python server.py
如果放在后台运行则可以,nohup用法具体可以百度。
nohup python server.py &
至此多用户SS安装完毕。
6、下面开始安装前台:
git项目地址:
下载地址:
导入其中sql文件夹下面的所有数据库到你自己建立的数据库中,(之前应该已经建立了ss数据库),修改lib/config-sample.php(里面填写你的数据库信息)并改为:config.php即可。
修改默认配置即可。
后台默认信息:
后台地址:/admin
帐号:admin
7、如果需要安装PPTP,则参照我的另一篇教程
8、最后建议新手不要使用centos安装,对新手不友好,步骤复杂。建议使用Debian或ubuntu。
作者:孙伟伟
服务器开启memcached对网站速度提升是非常明显的,可是由于资源分配、内存用满等等原因,memcached可能会挂掉,此时网站就非常卡了,甚至打不开。
以下脚本为检测该进程,不存在则启动服务,并输出日志。
首先创建一个sh脚本
vim memcached_check.sh
内容如下:
#check memcached process and restart if down
DATE=`date -d &today& +&%Y-%m-%d-%H:%M&`
#用ps命令查看memcached进程
MM=`ps aux |grep &memcached& |grep &11211& |grep -v &grep& |wc -l`
#if语句判断进程是否存在,如果不存在,输出日志记录并重启memcached服务
if [ &$MM& == &0& ];
echo &$DATE The memcached is problem and restart& && /root/memcached_check.logs
/www/wdlinux/memcached/bin/memcached -d -m 50 -u www -p 11211 -c 5120
#wdcp的memcached路径重启命令,语句可以通过ps aux|grep &memchched&查看,memcached参数自己百度
并添加至crontab计划任务中,每隔5分钟检测一次即可。
*/5 * * * * /bin/bash /root/sh/memcached_check.sh
———————————结束————————————
memcached启动参数:
-p 指定端口号(默认11211)
-U &num& UDP监听端口 (默认: 11211, 0 时关闭)
-s &file& 用于监听的UNIX套接字路径(禁用网络支持)
-a &mask& UNIX套接字访问掩码,八进制数字(默认:0700)
-m 指定最大使用内存大小(默认64MB)
-t 线程数(默认4)
-l &ip_addr& 绑定地址 (默认:所有都允许,无论内外网或者本机更换IP,有安全隐患,若设置为127.0.0.1就只能本机访问)
-d start 启动memcached服务
-d restart 重起memcached服务
-d stop|shutdown 关闭正在运行的memcached服务
-u &username& 绑定使用指定用于运行进程 &username& (只有root用户可以使用这个参数)
-P &file& 将PID写入文件&file&,这样可以使得后边进行快速进程终止, 需要与 -d 一起使用
-m 最大内存使用,单位MB。默认64MB
-M 内存耗尽时返回错误,而不是删除项
-c 最大同时连接数,默认是1024
-f 块大小增长因子,默认是1.25
-n &bytes&最小分配空间,key+value+flags默认是48
-k锁定所有内存页。注意你可以锁定的内存上限。
试图分配更多内存会失败的,所以留意启动守护进程时所用的用户可分配的内存上限。
(不是前面的 -u &username& 参数;在sh下,使用命令&ulimit -S -l NUM_KB&来设置。)
-v 提示信息(在事件循环中打印错误/警告信息。)
-vv 详细信息(还打印客户端命令/响应)
-vvv 超详细信息(还打印内部状态的变化)
-h 打印这个帮助信息并退出。
-i 打印memcached和libevent的许可。
-L 尝试使用大内存页(如果可用的话)。提高内存页尺寸可以减少&页表缓冲(TLB)&丢失次数,提高运行效率。
为了从操作系统获得大内存页,memcached会把全部数据项分配到一个大区块。
-D &char& 使用 &char& 作为前缀和ID的分隔符。
这个用于按前缀获得状态报告。默认是&:&(冒号)。
如果指定了这个参数,则状态收集会自动开启;如果没指定,则需要用命令&stats detail on&来开启。
-t &num& 使用的线程数(默认:4)
-R 每个连接可处理的最大请求数。
-C 禁用CAS。
-b 设置后台日志队列的长度(默认:1024)
-B 绑定协议 - 可能值:ascii,binary,auto(默认)
-I 重写每个数据页尺寸。调整数据项最大尺寸。
作者:孙伟伟
自从发布了后,就陆续收到各种邮件询问什么注册码的,为什么不给注册码、怎么使用、如何操作、为啥用不了等等。。。V1.0版本早已发布在群共享里,只是没有在本博客和官方网站里发布,也有很多工具都是直接在群内发布的,斗牛SEO所有工具也一直都在更新的,只是更新了都在群内发布了;做这个工具也权当是给VIP会员的权益,多些工具,能多解决些问题。
总而言之,为了节约大家的时间,这里做一下软件介绍及相关使用说明。
目前本软件已升级至V2.7.2,主要功能是会模拟操作你的浏览器,查询百度指数、百度历史指数(查询时间可自己定义,没有限制)、可以自定义查询各个城市的百度指数、整体、PC、移动端历史指数等等。
更新日志:
日(年三十):
升级至V2.7.2
1、添加关键词与日期范围一一对应的选择项,让关键词列表和时间范围列表依次
从上至下一一对应各自时间段,方便一次对不同词设置不同时间范围,查询更灵活.
2、修复了软件运行过程中出现Y1坐标越界的信息提示。
升级至V2.7.1
1、修复历史时间段识别错误导致无法查询的bug
升级至V2.7
1、添加支持整体趋势、PC端、移动端趋势历史数据的单独查询;
2、支持遇验证码自动ADSL拨号换IP功能,真正实现了不需要人工操作,挂机采集;
3、对于历史数据的采集结果,不再在软件界面上显示,直接增量添加到当面目录的
date_index.txt里,适合挂机,不怕断电等等因素;
4、优化部分win64系统获取数据为空的问题,注意本软件不支持浏览器为64位的
程序,比如Chrome就有64位的版本,这个版本是不支持的,换成32位就可以
继续查了。或者你换个浏览器,比如360极速浏览器、IE浏览器等等。
建议使用Goole Chrome32位、360极速Chrome。
所以为了统一,我建议大家都用win7或XP 32位系统,不使用64位系统。
64位系统注册插件,参见文章末尾的Q&A
(经过测试,采集2000个词的近2年所有历史数据,防卡延时设置5秒,大约需要挂机
十多个小时才能完成采集。对于少部分的数据为-1,一般需要人工输入刻度值辅助查
询,这部分占比较少,原因是图像干扰了刻度识别。)
升级至V2.5
1、添加自定义时间,循环时间查询的功能,更方便;
2、添加识别坐标刻度值错误的提醒功能;
升级至V2.4.1
1、添加横向偏移的微调设置功能
2、优化软件稳定性
升级至v2.0
1、添加半人工查询模式,可手动输入刻度值
2、添加气泡提示运行状态
发布版本v1.0
备注:本软件有2种查询模式,
一、百度指数的实时指数(就是页面上显示那个数值),可以选择近7天,近30天。
二、百度历史指数的数据,这个数据因为是采用图像识别技术,会有5%左右的误差,对于这样的数据,可以在软件选项里,进行坐标精准性微调,调整坐标横向偏移;同时也可以在查询结果乘以一个百分比来均衡这个误差,具体差值需要自己人工判断计算。
本软件面向的用户:
1、需要精确百度指数的用户,而不是模糊有延时的百度指数(比如目前市面上的各种seo工具里的百度指数查询工具)。
2、做行业数据分析,研究相关关键词的热度趋势,需要百度历史指数分析的用户。(比如搞大数据分析、金融、股票数据分析等等行业的人员)。
3、如果你只是想大概查一下关键词的指数、不需要精准数值而且是大批量查询,那么这个工具不太适合你,因为是模拟操作,效率是个问题。(当然大批量指数查询工具也已经做好并发布了,斗牛百度指数批量查询工具V5.0版本,请至公开QQ群共享下载。)
软件功能:
1、支持百度指数实时提取功能,可查询近7、30天各个城市的数据,提取数据包括整体搜索指数、PC搜索指数、移动搜索指数、整体同比、整体环比、移动同比、移动环比;
2、百度历史指数可查询指定时间段的百度指数,没有限制,如果查询的天数超过一年,建议你按照1年1年来查询,比如准备查询年所有数据,那么软件里应该分别查询2011年、2012年、2013年的数据;(提示:一般情况下,查询的时间范围跨度越小精度越高,所以在最新发布的版本里,添加上自定义循环时间查询功能,可以分多个时间段分别查询,这样查的数据组合起来可以更精确。)
3、为防止软件识别错误,软件自带半人工干预模式,可以自己手动输入坐标柱的底部值、顶部值,输入后点“我已输入”按钮,软件会自动继续执行;
4、支持出现验证码自动气泡提示,手动输入验证码后,软件自动继续执行工作;
5、支持设置各个城市的ID,方便查询不同城市地区的数据;
6、支持停留时间设置:防止网速太卡导致页面未加载完毕导致数据丢失;
7、支持日期时间范围和列表每个关键词的一一对应设置,可一次查询不同关键词的不同时间范围,避免一次只能查询同一时间范围的尴尬。
8、支持对查询的数据进行二次纠正,可以进行加减乘除;
9、支持关键词的批量导入,一键清空;
10、支持查询时间间隔设置,支持数据导出,支持一键复制;软件支持自动更新。
11、可对验证码进行自动ADSL拨号处理,避免人工处理。
备注:软件压缩包里自带全国各个城市的ID数值,如果需要查询某个城市,只需要去查找一下即可。
软件截图:
我们对上面采集到的数据样本,”百度”一词,个月数据,进行本地excel制图和真实图表对比:
采集到的数据趋势图
真实的数据趋势图
根据上面2个图表,可以得出结论,采集到数据已经完全展示了数据的变化趋势,可以用来做数据样本,对于大数据分析来说,该样本是可靠的。
经过计算,本次识别的误差率约为2.48%
举例2:演示图:
(举例)以Google一词为关键词,根据记录的数据进行excel绘图,演示如下:
根据软件提取的数据生成的EXCEL趋势图
我们再来看一下网页的趋势图是怎么样的:如下
Google的百度指数页面趋势图
经过计算,本次识别的误差率为2.8%,经过数值均衡后可达更理想状态。
好了,全部介绍到此为止,如有疑问请再看一遍文章,也可以加群,
如需下载,也请加群!
常见问题:(Q&A)
1、我打开软件提示插件版本错误,怎么办?
自从发布了早期版本的百度指数查询工具后,就陆续收到各种邮件询问什么注册码的,为什么不给注册码、怎么使用、如何操 [&]
前些日子收到amazon的邮件通知,一年前申请的ec2到期了,一年免费的free tier没有了,放在上面的2 [&]
目前谷歌已经被全面封锁了,日常工作中多少还是会受影响的,特别是想找个资料啥的,能急死你。。 现奉上谷歌全球39 [&]
斗牛SEO工具集(免费)

我要回帖

更多关于 java正则截取字符串 的文章

 

随机推荐