首页 » 网站推广 » php海明距离技巧_收集爬虫常识 day11

php海明距离技巧_收集爬虫常识 day11

访客 2024-11-21 0

扫一扫用手机浏览

文章目录 [+]

1.1 流程先容

simhash是由 Charikar 在2002年提出来的,为了便于理解只管即便不该用数学公式,分为这几步:

php海明距离技巧_收集爬虫常识 day11

1、分词,把须要判断文本分词形成这个文章的特色单词。

php海明距离技巧_收集爬虫常识 day11
(图片来自网络侵删)

2、hash,通过hash算法把每个词变成hash值,比如“美国”通过hash算法打算为 100101,“51区”通过hash算法打算为 101011。
这样我们的字符串就变成了一串串数字。

3、加权,通过 2步骤的hash天生结果,须要按照单词的权重形成加权数字串,“美国”的hash值为“100101”,通过加权打算为“4 -4 -4 4 -4 4”

“51区”打算为 “ 5 -5 5 -5 5 5”。

4、合并,把上面各个单词算出来的序列值累加,变成只有一个序列串。

“美国”的 “4 -4 -4 4 -4 4”,“51区”的 “ 5 -5 5 -5 5 5”

把每一位进行累加, “4+5 -4+-5 -4+5 4+-5 -4+5 4+5”à“9 -9 1 -1 1 9”

5、降维,把算出来的 “9 -9 1 -1 1 9”变成 0 1 串,形成终极的simhash署名。

1.2 署名间隔打算

我们把库里的文本都转换为simhash署名,并转换为long类型存储,空间大大减少。
现在我们虽然办理了空间,但是如何打算两个simhash的相似度呢?

我们通过海明间隔(Hamming distance)就可以打算出两个simhash到底相似不相似。
两个simhash对应二进制(01串)取值不同的数量称为这两个simhash的海明间隔。

举例如下: 10101 和 00110 从第一位开始依次有第一位、第四、第五位不同,则海明间隔为3。
对付二进制字符串的a和b,海明间隔为即是在a XOR b运算结果中1的个数(普遍算法)。

1.3 导入simhash工程

1.4 测试simhash

1.5 案例整合

须要先把simhash安装到本地仓库

在案例的pom.xml中加入以下依赖

<!--simhash网页去重-->

<dependency>

<groupId>com.lou</groupId>

<artifactId>simhasher</artifactId>

<version>0.0.1-SNAPSHOT</version>

</dependency>

修正代码:

二、代理的利用

有些网站不许可爬虫进行数据爬取,由于会加大做事器的压力。
个中一种最有效的办法是通过ip+韶光进行鉴别,由于正凡人不可能短韶光开启太多的页面,发起太多的要求。

我们利用的WebMagic可以很方便的设置爬取数据的韶光。
但是这样会大大降落我们爬取数据的效率,如果欠妥心ip被禁了,会让我们无法爬去数据,那么我们就有必要利用代理做事器来爬取数据。

2.1 代理做事器

代理(英语:Proxy),也称网络代理,是一种分外的网络做事,许可一个网络终端(一样平常为客户端)通过这个做事与另一个网络终端(一样平常为做事器)进行非直接的连接。

供应代理做事的电脑系统或其它类型的网络终端称为代理做事器(英文:Proxy Server)。
一个完全的代理要求过程为:客户端首先与代理做事器创建连接,接着根据代理做事器所利用的代理协议,要求对目标做事器创建连接、或者得到目标做事器的指定资源。

我们就须要知道代理做事器在哪里(ip和端口号)才可以利用。
网上有很多代理做事器的供应商,但是大多是免费的不好用,付费的还行。

供应两个免费代理ip的做事商网站:

米扑代理:https://proxy.mimvp.com/free.php

西刺免费代理IP:http://www.xicidaili.com/

2.2 利用代理

WebMagic利用的代理APIProxyProvider。
由于相对付Site的“配置”,ProxyProvider定位更多是一个“组件”,以是代理不再从Site设置,而是由HttpClientDownloader设置。

ProxyProvider有一个默认实现:SimpleProxyProvider。
它是一个基于大略Round-Robin的、没有失落败检讨的ProxyProvider。
可以配置任意个候选代理,每次会按顺序挑选一个代理利用。
它适宜用在自己搭建的比较稳定的代理的场景。

如果须要根据实际利用情形对代理做事器进行管理(例如校验是否可用,定期清理、添加代理做事器等),只须要自己实现APIProxyProvider即可。

可以访问网址http://ip.chinaz.com/getip.aspx 测试当前要求的ip

在案例中加入编写以下逻辑:

标签:

相关文章

红色衬衫,时尚与文化的交融

红色衬衫,作为一种时尚单品,在我国有着悠久的历史和丰富的文化内涵。从古代的宫廷服饰到现代的街头潮流,红色衬衫始终占据着一席之地。本...

网站推广 2024-12-26 阅读0 评论0

紫金南京IT,引领科技浪潮,打造创新高地

随着信息技术的飞速发展,我国在科技创新领域取得了举世瞩目的成就。紫金南京IT作为一家专注于信息技术创新的企业,凭借其强大的研发实力...

网站推广 2024-12-26 阅读0 评论0

C语言数据框,编程之美,数据之魂

在计算机编程的世界里,数据框作为一种重要的数据处理工具,承载着无数程序员对编程之美的追求。C语言作为一门历史悠久、应用广泛的编程语...

网站推广 2024-12-26 阅读0 评论0

C语言扫描器的原理与应用

随着计算机技术的飞速发展,编程语言在各个领域发挥着至关重要的作用。C语言作为一种经典的编程语言,广泛应用于操作系统、嵌入式系统、网...

网站推广 2024-12-26 阅读0 评论0

湖南IT大专,创新人才培养的摇篮

近年来,随着我国信息化水平的不断提高,IT行业在我国经济中的地位日益凸显。作为人才培养的重要基地,湖南IT大专在培养高素质IT人才...

网站推广 2024-12-26 阅读0 评论0