5 苏文星

尚未进行身份认证

知行合一 止于至善。

等级
博文 46
排名 8w+

URL短网址生成算法原理

短链接的好处: 1、内容需要;2、用户友好;3、便于管理。    为什么要这样做的,原因我想有这样几点:微博限制字数为140字一条,那么如果我们需要发一些连接上去,但是这个连接非常的长,以至于将近要占用我们内容的一半篇幅,这肯定是不能被允许的,所以短网址应运而生了。短网址可以在我们项目里可以很好的对开放级URL进行管理。有一部分网址可以会涵盖暴力,广告等信息,这样我们可以通过用户的举报,完全管理...

2018-03-16 13:56:45

网络爬虫:URL去重策略之布隆过滤器(BloomFilter)的使用

前言: 最近被网络爬虫中的去重策略所困扰。使用一些其他的“理想”的去重策略,不过在运行过程中总是会不太听话。不过当我发现了BloomFilter这个东西的时候,的确,这里是我目前找到的最靠谱的一种方法。 如果,你说URL去重嘛,有什么难的。那么你可以看完下面的一些问题再说这句话。关于BloomFilter: Bloomfilter是由HowardBloom在1970年提出的二进...

2018-03-16 13:51:08

HTTP慢的原因和解决方式

1.HTTP慢的原因主要有2个,带宽和延迟。带宽,网络基础建设完善后,带宽基本不是太大的问题延迟。HTTP/1.0主要的问题在于连接无法复用和headoflineblocking.1)连接无法复用,导致每次请求经历3次握手和慢启动。3次握手在高延迟的场景下影响较为明显,慢启动则对文件类大请求影响较大2)headoflineblocking,导致带宽无法被充分利用,以及后续的健康请求被阻...

2018-03-12 13:36:25

降低请求延迟

HTTP请求过程中会有哪些网络时延?域名解析:域名解析是进行网络访问的第一步,把域名识别为TCP认识的IP地址。这步往往会因为域名解析服务的质量造成诸多问题,我在实际的工程实践中遇到的最常见的问题就是选择的域名服务商质量不好或者客户端本身设置的域名解析服务地址错误导致域名解析慢或者失败。不过现在对于大多数的HTTP客户端都有一个小的DNS缓存,用来保存近期所访问站点的IP地址,可以有效的缓解此问题...

2018-03-12 13:19:27

网页抽取技术和算法

基于机器学习的网页抽取基于正则或CSS选择器(或xpath)的网页抽取都基于属于基于包装器(wrapper)的网页抽取,这类抽取算法的通病就在于,对于不同结构的网页,要制定不同的抽取规则。如果一个舆情系统需要监控10000个异构网站,就需要编写并维护10000套抽取规则。从2000年左右就开始有人研究如何用机器学习的方法,让程序在不需要人工制定规则的情况下从网页中提取所需的信息。从目前的科研成果看

2018-01-18 20:13:27

java 判断字符串是否为空的四种方法

方法一:最多人使用的一个方法,直观,方便,但效率很低:           if(s==null||s.equals(""));方法二:比较字符串长度,效率高,是我知道的最好一个方法:           if(s==null||s.length()==0);方法三:JavaSE6.0才开始提供的方法

2017-12-26 19:22:10

Python送你一顶圣诞帽

大致步骤:安装OpenCV(网上搜下教程有很多);用OpenCV提供的级联分类器做人脸检测,定位出图片中的人脸位置;根据找出的人脸,调整圣诞帽的位置和大小,叠加到原图片上;遍历所有人脸,重复执行步骤3,过程中可随机变换帽子的样式;保存图片。01用到的工具OpenCV(毕竟

2017-12-26 09:38:52

Two Sum

Givenanarrayofintegers,returnindicesofthetwonumberssuchthattheyadduptoaspecifictarget.Youmayassumethateachinputwouldhaveexactlyonesolution,andyoumaynotusethesame

2017-12-25 13:03:56

利用KNN算法实现的一个demo

一、案例背景我的朋友海伦一直使用在线约会网站寻找合适自己的约会对象。尽管约会网站会推荐不同的人选,但她并不是喜欢每一个人。经过一番总结,她发现曾交往过三种类型的人:(1)不喜欢的人;(2)魅力一般的人;(3)极具魅力的人;尽管发现了上述规律,但海伦依然无法将约会网站推荐的匹配对象归入恰当的分类,她觉得可以在周一到周五约会那些魅力一般的人,而周末则更喜欢与那些极具魅力的人为伴

2017-12-18 14:21:44

机器学习随笔【不定时更新】

说到机器学习

2017-12-13 13:20:53

HttpCLient实现对被GZip压缩过的Response进行解压

发送http请求时,设置请求头Accept-Encoding:gzip, deflate,则服务器会返回压缩的内容。若不设置,相应内容则正常返回。发送请求(要求服务端对response进行GZip压缩):Java代码  import org.apache.commons.httpclient.HttpClient;  import org

2017-10-16 16:39:39

URL中编码URL特殊字符

【问题提出】url出现了有+,空格,/,?,%,#,&,=等特殊符号的时候,可能在服务器端无法获得正确的参数值【解决办法】将这些字符转化成服务器可以识别的字符,对应关系如下:URL字符转义用其它字符替代吧,或用全角的。+   URL中+号表示空格                                %2B  空格URL中的空格可以用+号或者编码 

2017-09-19 15:15:54

抓取app视频文章记录

【前言】最近被抓取快手和最右APP搞得焦头烂额,其中最困恼的就是他的sig值,做了加密导致无法直接修改参数进行请求。但是在研究的过程中我也发现了一些好玩的,比如用模拟器抓取,用anyproxy代理+fiddler进行抓取。【现记录fiddler抓取抓发代码:】if(oSession.uriContains("tbapi.ixiaochuan.cn/index/recommend"

2017-09-14 09:18:05

五种方式让你在java中读取properties文件内容不再是难题

一、背景  最近,在项目开发的过程中,遇到需要在properties文件中定义一些自定义的变量,以供java程序动态的读取,修改变量,不再需要修改代码的问题。就借此机会把Spring+SpringMVC+Mybatis整合开发的项目中通过java程序读取properties文件内容的方式进行了梳理和分析,现和大家共享。二、项目环境介绍  Spring 4.2.6.RELEASE

2017-09-03 15:18:02

浅谈使用Fiddler工具发送post请求(带有json数据)以及get请求(Header方式传参)

浅谈使用Fiddler工具发送post请求(带有json数据)以及get请求(Header方式传参)Fiddler工具是一个http协议调试代理工具,它可以帮助程序员测试或调试程序,辅助web开发。Fiddler工具可以发送向服务端发送特定的HTTP请求以及接受服务器回应的请求和数据,是web调试的利器。使用Fiddler也可以像Firefox浏览器中的RestClient工具一

2017-08-30 19:39:48

HttpClient使用代理IP

在爬取网页的时候,有的目标站点有反爬虫机制,对于频繁访问站点以及规则性访问站点的行为,会采集屏蔽IP措施。这时候,代理IP就派上用场了。关于代理IP的话也分几种 透明代理、匿名代理、混淆代理、高匿代理1、透明代理(TransparentProxy)REMOTE_ADDR=ProxyIPHTTP_VIA=ProxyIPHTTP_X_FO

2017-08-17 16:56:06

关于HttpClient的总结

关于Httpclient的使用总结如下:(1)当HttpClient的实例不再需要时,可以使用连接管理器关闭  httpclient.getConnectionManager().shutdown();    [java]viewplaincopy(1)当HttpClient的实例不再需要时,可以使用连接管理器关闭  httpclient.

2017-08-16 14:48:08

理解和解决Java并发修改异常ConcurrentModificationException

假设我们要实现这样一个例子:判断集合里面有没有"world"这个元素,如果有,就添加一个"javaee"元素出现异常的代码如下:importjava.util.ArrayList;importjava.util.Iterator;publicclassTest{publicstaticvoidmain(String[]args){A

2017-08-10 14:45:54

fastJson解析复杂的json字符串

http://www.cnblogs.com/hsqdboke/p/5545183.html

2017-08-07 16:55:16

ssm多数据源的配置

第一步:创建一个DynamicDataSource的类,继承AbstractRoutingDataSource并重写determineCurrentLookupKey方法,代码如下:1publicclassDynamicDataSourceextendsAbstractRoutingDataSource{23@Override4protected

2017-08-04 12:31:31
奖章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!