【模拟浏览器】htmlunit、PhantomJS、Chrome headless

我们在通过Selenium运行自动化测试时,必须要启动浏览器,浏览器的启动与关闭必然会影响执行效率,而且还会干扰你做其它事情(本机运行的话)。那能不能把自动化测试的运行放在后台?当然可以!htmlunit 项目可以模拟浏览器运行,是一个没有界面的浏览器,运行速度快。PhantomJS 是一个基于webkit的JavaScript API。它使用QtWebKit作为它核心浏览器的功能,使用webkit来编译解释执行JavaScript代码。任何你可以在基于webkit浏览器做的事情,它都能做到。C 阅读全部

本地内网主机向远程服务器同步数据 确保数据成功传输的SHELL命令

#!/bin/bash7za a log.7z log              #将文件log压缩成log.7z7za t log.7z                      #检验文件log.7z是否可解压。rsync -avP log.7z root@192.168.1.1:/data/   #将l 阅读全部

php执行系统命令 shell_exec, exec, passthru, system 区别

shell_exec()通过 shell 环境执行命令,并且将完整的输出以字符串的方式返回。也就是说, PHP先运行一个shell环境, 然后让shell进程运行你的命令, 并且把所有输出已字符串形式返回, 如果程序执行有错误或者程序没有任何输出, 则返回null.exec()string exec ( string $command [, array &$output [, int &$return_var ]] )与 shell_exec() 不一样, exec不会创建she 阅读全部

【转载】最好的语言 PHP + 最好的前端测试框架 Selenium = 最好的爬虫(上)

入职冰鉴科技做爬虫开发已经半年多了,陆续开发维护了几个爬虫以后终于在 web 端爬虫这一块有了登堂入室的感觉。中间踩了许多坑,也对爬虫的许多细节有了自己的认识,所以今天希望能分享一些爬虫经验。虽然爬虫的很多东西不好说太细,因为说太细了别人马上有针对性的反爬虫了,而且很多技巧业界没用通用的解决方案(别人就算做出来了也不太愿意分享),都是我自己慢慢摸索出来的。但是我认为适当的业界 /友商之间的技术交流是必要的,不能闭门造车,我也渴望能和业界 /友商有更多私下的深入交流,大家多切磋才能进步嘛。最近我在 阅读全部

【转载】最好的语言 PHP + 最好的前端测试框架 Selenium = 最好的爬虫(下)

在上篇中,我主要讲了用 PHP 写爬虫时的一些经验,在下篇中我会对 Selenium 进行展开,把我总结的 Selenium 技巧和一些坑的处理方法介绍给大家。上篇: https://www.v2ex.com/t/324309我博客原文:《最好的语言 PHP + 最好的前端测试框架 Selenium = 最好的爬虫(下)》为什么是 Selenium在简单的爬虫中直接用 httpclient 就可以爬了,但是反爬虫比较厉害的情况下,有很多反爬虫的机制,比如:各种 302 跳转、 js 检 阅读全部

【转载】一个MySQL 5.7.18分区表性能下降的案例分析与排查

作者介绍姜宇祥,2012年加入携程,10年数据库核心代码开发经验,相关开发涉及达梦、MySQL数据库。现致力于携程MySQL的底层研发,为特殊问题定位和处理提供技术支持。本文来自携程技术中心公众号(id:ctriptech),经同意授权转载。 前言:希望通过本文,使MySQL5.7.18的使用者知晓分区表使用中存在的陷阱,避免在该版本上继续踩坑。同时通过对源码的分享,升级MySQL5.7.18时分区表性能下降的根本原因,向MySQL源码爱好者展示分区表实现中锁的运用。 问题描 阅读全部

PHP基于Redis实现Bloom-Filter(布隆算法去重过滤器)

    背景    最近有一个项目是点击日志(10亿/天)实时计算,架构上简单来说就是利用flunted去从前端机收集原始日志,然后发给Kafka,Spark消费日志并计算保存结果到Redis。    Kafka的Producer和Consumer端的配置是异步且保证不丢消息,因此当超时发生时,就可能会导致消息的重发或者重复消费,需要在消费环节保证幂等。Spark消费逻辑主要是根据多个维度进行计数计算,因此,我们 阅读全部

filter_var:比正则更方便的PHP域名、邮箱、IP、MAC地址验证过滤工具

filter_var 支持的几种验证类型:http://php.net/manual/zh/filter.filters.php Validate filters 验证类Sanitize filters 净化类Other filters 其他Filter flags 标志类支持验证对象是否域名,IP,邮箱等,也可以过滤掉不符合要求的字符后返回一、验证判断类型:验证并返回正确结果 (VALIDATE 类)$str ='h 阅读全部

【转载】CI框架集成CkEditor编辑器+图片上传功能

1.先下载CKEditor编缉器(官网:http://ckeditor.com/download)。2.把解压后的CKEditor复制到CI的根目录下。3.把ckeditor目录下的ckeditor_php5.php文件复制到CI的application/libraries/下并重命名为ckeditor.php。4.这些准备工作做完后就可以在CI的控制器中调用CKEditor编缉器了,如下:###测试ckeditor###      & 阅读全部

CKEditor扩展插件:自动排版功能

CKEditor是新一代的FCKeditor,是一个重新开发的版本。CKEditor是全球最优秀的网页在线文字编辑器之一,因其惊人的性能与可扩展性而广泛的被运用于各大网站。如果还没接触过的可以看看,在线演示地址:http://ckeditor.com/demo当然了,今天我们的主要目的还不是介绍。还未下载CKEditor的同学可以点击下载:http://ckeditor.com/download下载完后的结构是这样的: 好了,开始制作了,我们照着执行顺序来吧。1.注册插件首先找到根目录 阅读全部

帆布算法,对客户端进行指纹识别(CANVAS FINGERPRINTING)

广告联盟或许网站运营者都希望能够精准定位并标识每一个个体,通过对用户行为的分析(浏览了哪些页面?搜索了哪些关键字?对什么感兴趣?点了哪些按钮?用了哪些功能?看了哪些商品?把哪些放入了购物车等等),为用户推送更加精准的广告(精准化营销)。同时,通过对用户的标识,可以将不同站点的用户进行关联。在过去,实现上述cookie是最受欢迎的一种。但由于移动互联网的发展,移动设备限制、用户禁用cookie。使得cookie愈来愈不受待见。伴随着html5的成熟,通过canvas fingerprinting技 阅读全部

grocerycrud操作API

API和函数列表:https://www.grocerycrud.com/documentation/options_functions 功能名称:小描述add_action:向列表中添加操作/操作。add_fields:用户在添加操作时将看到的字段callback_add_field:此回调在添加表单中转义字段名称的默认自动字段输出。callback_after_delete:当操作删除成功完成时,回调运行callback_after_insert:这是自动插入CRUD后的回调。ca 阅读全部

windows下php imagick 报错 ​no decode delegate for this image format `JPEG' 的解决方法

windows下使用 php imagick 时报错:no decode delegate for this image format `JPEG' @ error/constitute.c/ReadImage/501或者 no decode delegate for this image format `PNG'或者 no decode delegate for this image format `BMP'原因:IM_MOD_ 安装不完整解决方法: 阅读全部

PHP 图片处理类库Grafika详细教程(4):图形绘制

该文章是接着上一篇文章:《PHP极其强大的图片处理库Grafika详细教程(3):图像属性处理》,是grafika教程的一个部分。所有的教程目录《1、图像基本处理》《2、图像特效处理模块》《3、图像属性处理》《4、图形绘制》话不多说,我们接着上实例,要看基础描述,和下载信息请看第一篇1、绘制贝塞尔曲线贝塞尔曲线绘制,需要两个端点,一头一尾,还有两个控制点,在之间。所以,必然最起码4个参数。加上一个颜色共计5个参数。从做到右,我们依次解释第一个(数组):表示起始点,数组内第一个参数为x,第二个参数 阅读全部

PHP 图片处理类库Grafika详细教程(3):图像属性处理

该文章是接着上篇文章,《PHP极其强大的图片处理库Grafika详细教程(2):图像特效处理模块》,由于grafika功能太多,所以分开写,其他的点击这里《1、图像基本处理》《2、图像特效处理模块》《3、图像属性处理》《4、图形绘制》该文章主要写grafika的图像属性处理功能,共7个方法1、图片格式化为二进制格式输出该方法的作用是打开一张图片,然后格式化为二进制数据,直接输出到浏览器,而不是传统的src显示图片。其有一个参数,你可以自定义输出图片的格式,比如png啥的我们这里打开图片,输出为p 阅读全部

PHP 图片处理类库Grafika详细教程(2):图像特效处理模块

该文章是接着上篇文章《PHP极其强大的图片处理库Grafika详细教程(1):图像基本处理》,由于grafika功能太多,所以分开写,其他的点击这里《1、图像基本处理》《2、图像特效处理模块》《3、图像属性处理》《4、图形绘制》我们开门见山,直接继续上实例,详细了解点击上面链接图片过滤、滤镜grafika提供了11种滤镜功能,可以满足开发中的任何情况需求。这里先介绍一个操作方法:apply:它可以将滤镜效果应用到图片图片模糊使用Blur参数,模糊化一张图片其中模糊度取值范围为0-100,数值越大 阅读全部

PHP 图片处理类库Grafika详细教程(1):图像基本处理

Grafika是一个PHP图像处理库,是基于Imagick和GD,可以用于改变图片大小,剪裁,比较,添加水印等等功能。还有感知哈希,高级图像过滤,绘制贝塞尔曲线等功能,可谓非常强大。由于功能太多,所以分成几篇文章写。《1、图像基本处理》《2、图像特效处理模块》《3、图像属性处理》《4、图形绘制》优点:缩略图的速度非常快,质量非常高支持智能剪裁很好的支持GIF图片5种缩略图模式图像对比功能图像高级过滤功能图像混合其他图像处理库支持的API基本都支持安装下载1、直接下载:Grafika的官网、Git 阅读全部

Codeigniter3.X 整合 Smarty3.X

最近因为个人原因需把项目重制,从而转投到CI的学习中,鉴于CI是一个MVC框架,自学时也看了开发手册,稍微接触了CI的模板引擎,但是用起来却并不怎么好用(例如没法解析数组在朋友的推荐下,我开始寻找关于CI跟Smarty的整合教程,也感谢HEX大大提供的教程,但由于我使用的是CI3.X版本,几经尝试过此方法都无法实现CI3.X与Smarty3.x的整合,下班到家时就到百度搜寻相关资料,经过半小时左右努力,已经成功的整合了CI3.X与Smarty3.X的整合方式下面我就给大家详细说明一下配置步骤。第 阅读全部

CodeIgniter中使用Smarty模板引擎

在CodeIgniter框架中,parser解析方式不是很完善,所以想换用smarty模版引擎。方法如下:1、下载smarty源码包,解压后将其中的lib文件夹复制到CI框架中的application/library/下面;2、同时在该目录下建立一个Cismarty.php文件,文件内容如下:<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed') 阅读全部

CI框架整合Smarty模板引擎方法

smarty 3模板引擎下载:https://www.smarty.net/ CodeIgniter 3 框架下载:https://www.codeigniter.com/ 首先,把下载到的smarty模板引擎解压,然后把里面的libs文件夹改名为smarty,然后把这个文件夹整体复制到ci\application\libraries目录下面;然后,在ci\application\libraries目录下面建立一个文件,文件名可以自定义,例如创建一个tp.php文件,打开文件 阅读全部