网站建设类的职位遂宁建设机械网站

diannao/2026/1/27 13:35:07/文章来源:
网站建设类的职位,遂宁建设机械网站,南昌网站设计专业排名,上海东方网首页SuperSpider——打造功能强大的爬虫利器 博文作者#xff1a;加菲 发布日期#xff1a;2013-12-11 阅读次数#xff1a;4506 博文内容#xff1a; 1.爬虫的介绍 图1-1 爬虫#xff08;spider) 网络爬虫(web spider)是一个自动的通过网络抓取互联网上的网页的程序#xf…SuperSpider——打造功能强大的爬虫利器   博文作者加菲 发布日期2013-12-11 阅读次数4506 博文内容   1.爬虫的介绍 图1-1  爬虫spider)             网络爬虫(web spider)是一个自动的通过网络抓取互联网上的网页的程序在当今互联网中得到越来越广泛的使用。这种技术一般用来爬取网页中链接资源等当然更为高级的技术是把网页中的相关数据保存下来成为搜索引擎例如著名的google和百度。常见的爬虫应用还有像一淘这样的比价网站电影推荐网站等。       为了让大家进一步感受到爬虫的魅力笔者编写了一个爬取淘宝和京东数据的比价网站http://jiafei.org:8888/如图1-2所示。由于淘宝和京东的搜索结果页面中有部分内容引如价格是通过ajax动态获得的再用javascript把内容写入到相应的标签中的当搜索Iphone 5s时后台爬虫利用webkit生成去最终的dom树爬取有用的数据经过简单的处理后返回相应的结果。   图1-2  一个简单的比较网站   2.为何需要爬虫       爬虫对于扫描器来说至关重要站在整个扫描器的最前线如图2-1所示。在一个专业扫描器中一般首先会由爬虫爬取指定的页面接着把爬到的url传递给调度server,最后由调度server分发需要扫描的url给扫描agent来完成整个扫描过程。   图2-1  扫描器的组成   2.爬虫的架构与分析        Web安全对于互联网公司来说至关重要为了让公司的扫描器与业界的扫描器看齐server安全组自研了一款功能强大的爬虫——SuperSpider主要用来为漏洞扫描提供丰富的urls。SuperSpider的架构如图3-1所示首先由下载器模块下载指定的页面分析页面模块分析完成后一方面把需要的数据传递给存储模块另一方面将爬取的urls传递给去重模块去重后放到url队列中最后由调度器安排次序传递url给下载器下载新的页面。接下来详细讲讲分析页面调度器和去重这3个模块。   图3-1  爬虫的架构   3.1分析页面 简单的来说, 爬虫主要作用就是用来分析页面。 难点因为现在是web2.0时代绝大部分网页都会使用javascript处理页面而且很多网页内容都是通过Ajax技术加载的。因此只是简单地解析HTML文件会远远不够。 解决如何做到这点编写一个基于webkit的爬虫SuperSpider。下面将详细说明SuperSpider所具有的5个功能强大的爬取能力。 a.  静态页面链接分析       简单点来说就是分析html文档例如下图的一个a标签的超链接SuperSpider会识别出href中的值为一个超链接提取其值html_link.php?id1。 b.  javascript动态解析       下图为一段javascript代码该代码的目的是在id为hi的a标签中提交属性href。             SuperSpider利用webkit内核执行以上javascript代码生成出以下html代码再通过静态页面链接分析获取js_link.php?id1msgabc这个url。 c.  自动分析表单       SuperSpider会自动识别出action中的值为所提交的地址提取input标签中的name和value作为参数最终生成出 post_link.php?id1msgabc 这个url。   d.  自动交互       自动交换就是说要模仿出人的行为例如点击鼠标按下回车键等下图就是一个需要点击鼠标的例子。       SuperSpider会自动识别出onclick是一个交换行为从而执行里面的js代码生成出以下html从而爬到了 click_link.php?id1 这个url。   e.  hook所有的网络请求       这是一个ajax请求有别于以上4种基于dom树解析的分析技术要捉到其请求的url只能通过hook请求而webkit文档中并没有提到hook 网络请求的方法。于是通过修改webkit代码hook住每一个由webkit发送出去的请求从而拿到了 ajax_link.php?id1t1这个url。   3.2调度器       SuperSpider的调度器使用广度优先搜索策略具体的逻辑如下图所示。首先从入口页面1.html中爬到了2.html, 3.html和4.html依次把它们放到url队列中。接着取出2.html把爬到的5.html和6.html放到url队列中随后便开始爬取3.html依广度次序进行。 图3-2-1  爬虫调度的广度优先搜索策略 3.3去重       为了扫描的质量和效率需要进行去重。例如大部分网站中日期作为其url的组成部分尤其是门户网站。SuperSpider使用将数字替换成d的算法对url进行去重。例如 1.http://video.sina.com.cn/ent/s/h/2010-01-10/163961994.shtml?a1b10 2.http://video.sina.com.cn/ent/s/h/2009-12-10/16334456.shtml?a12b67 对数字进行模式处理为 http://video.sina.com.cn/ent/s/h/d-d-d/d.shtml?adbd 如果链接1已经爬取过链接2与链接1类似 不重复爬取。 试验证明这种方法简捷高效漏爬率极低大大提升扫描器的效率。   4.爬虫的具体实现 a.webkit的易用性       常用的chrome, safari等浏览器都是基于webkit内核不过提起这个内核大家可能会觉得有点庞大艰深。但如果只是对于应用层面来说webkit使用起来还是挺简易的。如图4-1所示只需14行便可以写出一个浏览器。 图4-1  使用webkit编写的浏览器 b.难点解决 问题Webkit需要视窗系统才能正常启动而服务器一般都没有视窗系统的那么如何在后台稳定地运行webkit?之前是去掉webkit中的图形渲染css等与gui有关的代码太麻烦易出众多bug。 解决使用xvfb虚拟出一个视窗系统只需把alert, confirm, prompt的代码注释掉因为会让浏览器卡住简单快捷稳定。 c.爬虫的逻辑代码 图4-2为爬虫的逻辑代码在parse函数里利用webkit生成出来的dom树来做具体的第三部分所提到的分析逻辑。 图4-2  爬虫的逻辑代码 5.效果       SuperSpider与wvs的爬虫对比在著名的爬虫测试平台http://demo.aisec.cn/demo/进行测试该平台要求爬虫要完全具备3.1所提到的5个功能才能爬取到所有的url,上图为扫描器的爬虫下图为wvs的爬虫, 其中click_link.php (在3.1.d提到是需要爬虫具有自动交换能力才能爬取到的。 结论SuperSpider全部都能爬到, 在自动交互方面比wvs表现更好 图4-1  SuperSpider与wvs的结果对比   6.结尾 以上笔者的一些思考与总结欢迎大牛们的意见和建议转载于:https://www.cnblogs.com/mfryf/p/3660640.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/87612.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

摄影网站模板源码在线制作印章生成免费

目录 资源列表 基础环境 关闭防护墙 关闭内核安全机制 修改主机名 添加hosts映射 一、部署elasticsearch 修改limit限制 部署elasticsearch 修改配置文件 单节点 集群(3台节点集群为例) 启动 二、部署logstash 部署logstash 添加配置文件 启动 三、部署kiban…

哈尔滨网站制作哪家好手机网站 pc网站模板

P2294 [HNOI2005]狡猾的商人 题意: 你需要调查某个商人的账本,给你n个月内,m条账单信息,每条账单信息为x到y月的收入或者支出多少钱,问你根据账单信息判断这个账本是否合理 5 3 1 5 100 3 5 50 1 2 51比如样例&…

网站微信二维码侧边栏漂浮框wordpress安装下载

声音的转译者:Transformer模型在语音识别中的革命性应用 在人工智能领域,语音到文本转换(Speech-to-Text,STT)技术正迅速发展,成为连接人类语言与机器理解的桥梁。Transformer模型,以其卓越的处…

福州网站建设哪里有论坛门户网站建设运营费用

css自定义字体的兼容问题 来源 http://www.w3cplus.com/content/css3-font-face 一、TureTpe(.ttf)格式: .ttf字体是Windows和Mac的最常见的字体,是一种RAW格式,因此他不为网站优化,支持这种字体的浏览器有【IE9,Firefox3.5,Chrome4,Safari3,…

双语版网站案例代理网络游戏

最近出差在北京做一个小项目,项目里需要读取配置文件的小功能,觉得挺有参考意义的就把代码发上来给大家参考一下。我们选择了直接用微软的读取配置文件的方法。 这个是程序的运行设计效果,就是把这些参数可以进行灵活设置,灵活保存…

手机版网站制作应用网店设计流程

WebSocket是一项很酷的新技术,它允许浏览器与服务器之间进行实时双向通信,而几乎没有开销。 我在这里想要做的是,提供一个非常简洁但足够全面的概述,以介绍如何开始使用该技术。 因此,从以下几件事开始: 在…

做网站上传服务器做网站是否要去工商备案

一、前提 1、kafka安装包下载:http://kafka.apache.org/downloads 2、jdk已安装 3、scala已安装 4、zookeeper集群已安装并运行二、步骤 1、对kafka_2.9.2-0.8.1.tgz进行解压缩:tar -zxvf kafka_2.9.2-0.8.1.tgz。2、对kafka目录进行改名:mv …

外贸网站源码下载网站开通告知书

什么是EXP、POC、CVE: 在某个漏洞出现的时候,会经常看到 exp啊,poc啊什么鬼的, 那么这些究竟是什么东西?? 余弦大大说: POC 即 Proof Of Concept,观点验证程序。 运行这个程序就…

免费做产品宣传的网站网站keywords

十种排序算法&#xff1a;选择排序插入排序冒泡排序希尔排序快速排序的三种实现方法归并排序堆排序&#xff08;大顶堆&#xff09;计数排序基数排序&#xff08;待实现&#xff09;桶排序&#xff08;待实现&#xff09;#include <bits/stdc.h> using namespace std; vo…

站长之家域名查询济宁建站公司

有个逗号分隔的 txt&#xff0c;共 10 列&#xff0c;第 3 列有时候缺少分隔符&#xff0c;导致该列缺失&#xff0c;数据不齐只剩 9 列。比如最后两行&#xff1a; 01-0104-0133,MAYO, RONIE #2,202403,2024-03-21 22:51:43.000,1449.49,0.00,0.00,08,6CC6BDAC7E45 17-1782-02…

有专门做美发的网站吗网站seo优化综合服务公司哪家好

JVM—对象的创建流程与内存分配 创建流程 对象创建的流程图如下&#xff1a; 对象的内存分配方式 内存分配的方式有两种&#xff1a; 指针碰撞&#xff08;Bump the Pointer&#xff09;空闲列表&#xff08;Free List&#xff09; 分配方式说明收集器指针碰撞&#xff08…

网站项目建设策划方案wordpress比较好的建议

首先&#xff0c;来看下效果图 在线体验地址&#xff1a;https://geojson.hxkj.vip&#xff0c;并提供实时geoJson数据文件下载 可下载的数据包含省级geojson行政边界数据、市级geojson行政边界数据、区/县级geojson行政边界数据、省市区县街道行政编码四级联动数据&#xff0…

p2p商城网站建设方案招工 最新招聘信息

体育赛事运营是指组织体育赛事或获取赛事版权&#xff0c;并进行赛事推广营销、运营管理等一系列商业运作的运营活动。体育赛事运营相关业务主要包括赛事运营与营销、赛事版权运营两个部分。 体育赛事运营行业分类 资料来源&#xff1a;共研产业咨询&#xff08;共研网&#x…

cms企业网站源码搜狐快站建站

统计信息在oracle中是非常重要的模块&#xff0c;就好似打仗时的侦察兵&#xff0c;提前了解敌情&#xff0c;来帮助CBO更好地生成执行计划。下面是一些常用地查看统计信息的语句&#xff0c;希望能帮助到大家。 表统计信息查看 select t.owner, t.table_name, t.num_rows, t…

织梦做的相亲网站口碑营销的产品有哪些

Qt的信号与槽主要是为了对象之间的信号传递&#xff0c;以达到某种交互操作的功能。我按照自己的理解逐步实现这样的效果。 步骤一&#xff1a; 第一个类&#xff08;接收者&#xff09;的成员函数实现某种功能&#xff0c;第二个类&#xff08;发送者&#xff09;定义一个对象…

网站页面布局用什么做网站有备案是正规的吗

1&#xff0e;计算机网络拓扑的定义计算机网络设计的第一步就是网络拓扑设计。拓扑学是几何学的一个分支。计算机网络拓扑是通过网中结点与通信线路之间的几何关系表示网络结构&#xff0c;反映出网络各实体之间的结构关系。2&#xff0e;网络拓扑的分类网络拓扑可以根据通信子…

做网站的是什么职业直播网站功能怎么做

提出问题&#xff1a; 在写一个dao的时候&#xff0c;我的需求是这个dao是一个万能的&#xff0c;目前的方法只有一个查询出实体类对应的表中所有的数据&#xff0c;通过传入的对象&#xff0c;利用反射获取实体类中的属性名&#xff0c;属性类型&#xff0c;利用字符串拼接获取…

江门网站建设自助建站人工智能的关键词

一、引言 在Python编程中&#xff0c;循环是常见的控制流语句&#xff0c;它允许我们重复执行一段代码&#xff0c;直到满足某个条件为止。而在循环中&#xff0c;continue和break是两个非常重要的控制语句&#xff0c;它们可以帮助我们更加灵活地控制循环的行为。 二、contin…

七台河做网站dede模板

toFixed() 方法可把 Number 四舍五入为指定小数位数的数字。例如将数据Num保留2位小数&#xff0c;则表示为&#xff1a;toFixed(Num)&#xff1b;但是其四舍五入的规则与数学中的规则不同&#xff0c;使用的是银行家舍入规则&#xff0c;银行家舍入&#xff1a;所谓银行家舍入…

网站提现功能开发手机软件公司

我们都知道VS能编写生成后事件&#xff0c;用于指定程序编译之后执行某些命令行&#xff0c;常见的如文件的拷贝、清理等等&#xff1b;那么&#xff0c;Qt能否支持支持在 .pro 文件中指定生成后事件呢&#xff0c;答案是肯定的。 下面是给出的一个简洁的例子&#xff1a; DEST…