网络爬虫学习笔记笔记

发布 2021-05-12 11:59:28 阅读 4200

web crawler a review

1.分类:通用爬虫、聚焦爬虫、分布式爬虫。

2.网络是一个有向图,所以搜索操作可以总结为对有向图的遍历。爬虫通过web页面的图结构从一个页面到另一个页面。

具有较少的垃圾结果和公平的搜索结果两大优点,其**于google的pagerank算法和锚点词权重。

4.爬虫技术:a,通用爬虫:从每一个网页尽可能多的找寻链接,去点速度慢占带宽。b,聚焦爬虫:爬取某一主题的文件,节省带宽。c分布式爬虫:多线程爬取。

5.现在爬虫都是同步进行的,有重载、质量和网络等问题。

e. and etzioni, o. on the instability of web search engines.

in proceedings of riao ’00, 2000.

teevan, j., e. adar, r.

jones, and m. a. potts.

information reretrieval: repeat queries in yahoo's logs. sigir ‘07, 151-158, 2007.

这两篇主要研究识别结果动态改变。

k. s. kim, k.

y. kim, k. h.

lee, t. k. kim, and w.

s. cho “design and implementation of web crawler based on dynamic web collection cycle”, pp. 562-566, ieee 2012

动态web数据爬取技术包含对web变化的监视,动态获取网页。

junghoo cho and hector garcia-molina “parallel crawlers”. proceedings of the 11th international conference on world wide web www '02”, may 7–11, 2002, honolulu, hawaii, usa. acm 1-58113-449-5/02/0005.

高效的并行爬虫。

alex goh kwang leng, r**i kumar p, ashutosh kumar singh and rajendra kumar dash “pybot: an algorithm for web crawling”, ieee 2011 广度优先搜素,会输出一个excel csv 形式的web架构,存储下来的网页与web结构用于排名,rajashree shettar, dr. shobha g, “web crawler on client machine”, proceedings of the international multiconference of engineers and computer scientists 2008 vol ii imecs 2008, 19-21 march, 2008, hong kong

异步多线程**模块。

eytan adar, jaime teevan, susan t. dumais and jonathan l. elsas “the web changes everything:

understanding the dynamics of web content”, acm 2009.

对特征化网络变化提出更细微的分析。

a. k. sharma, gupta and d.

p. agarwal “parcahyd: an architecture of a parallel crawler based on augmented hypertext documents”, international journal of advancements in technology, pp.

270-283, october 2010.

实现三个层次的并行化,分别是document、mapper、crawl worker level。详细说明了爬虫主要模块算法细节。

lili yana, zhanji guia, wencai dub and qingju guoa “an improved pagerank method based on genetic algorithm for web search”, procedia engineering, pp. 2983-2987, elsevier 2011

pagerank的启发式算法。

design and implementation of web crawler based on dynamic web collection cycle

1.目前web特点:复杂的非层次结构;更短的创建和销毁周期;没有物理边界。

2.针对此特点需要设计时间短的数据收集周期。

3.本文主要内容:提出动态web数据的爬取方法,包括可以敏感检测**的变化,动态检索目标**的网页。

根据web内容更新特征设计了一个最佳的收集周期模型。通过计算收集周期的分数动态**web内容的收集周期。

收集周期有三个参数决定:当前收集周期、平均收集周期、先去的收集周期。所以这个周期是动态。可以减少网络负担。

5.这个最佳周期时间是本文关键。

6.本文提到一个高效爬虫需要研究三点:1)搜索临近网页的策略;2)设计并行爬虫的架构;3)网页重构。

可以参考:a. k.

sharma, et al., parcahyd: an architecture of a parallelcrawler based on augmented hypertext documents, internationaljournal of advancements in technology, vol 1, no 2 (oct.

2010).

7.谷歌搜索引擎的爬虫有五个功能模块:url服务模块、爬虫模块、存储模块、索引建立、url解析。

8.使用**探测(website probing)?得知**是否更改。

9.动态爬虫详细流程:1)读取数据库获得url跟收集周期; 2)根据收集时间爬取网页; 3)对比抓取网页跟数据库中网页异同; 4)计算网页收集周期并存储到数据库; 5)如果网页没有改变收集周期变长。

实现主要考虑三点:1)怎么检查网页的改变;2)怎么增强收集的效果;3)怎么持有版权?how to keep the copyright of the web contents

crawling ajax-driven web 2.0 applications

主要使用rbnarcissus, watir and ruby .解决ajax带来挑战——past articles

vulnerability scanning web 2.0 client-side components

hacking web 2.0 applications with firefox

watir:全称是“web application testing in ruby”,发音类似“water”。它是一种基于网页模式的自动化功能测试工具。

watir可以模拟用户访问网页、点击链接,填写表单,点击按钮。watir可以模拟用户验证页面内容。watir不能用于ajax control的测试。

watir不支持activex的测试。watir不支持ie dialog的支持(以前曾经支持过)。

2.一般的爬虫引擎一般是协议驱动,链接建立后爬虫发送http请求并且试图截获响应。资源解析通过链接、脚本、flashi components 和其他数据获得另外的一些资源。

但是不能有效应对ajax。这是因为所有的目标资源都是js编码的一部分并且是植入dom中,所以就需要理解并且可以触发基于dom的activity。

3.所以需要事件驱动的爬虫。有以下三个关键部分组成:

1)js的分析和解释(j**ascript analysis and interpretation with linking to ajax);2)dom事件处理和调度(dom event handling and dispatching);3)动态dom内容的提取(dom event handling and dispatching)

4.事件驱动爬虫的解决方法。需要浏览器上下文来理解dom和可能的fireevent?几个工具和插件可以使用。例如本文使用watir。

5.一般爬虫只获得html得不到js,需要使用xhr objecet来获得js。(xhr 注入技术是通过xmlhttprequest来获取j**ascript的。

但与eval不同的是,该机制是通过创建一个script的dom元素,然后把xmlhttprequest的响应注入script中来执行j**ascript的。在某些情况下使用eval可能比这样机制慢。xhr injection 通过xmlhttprequest获取的内容必须部署在和主页相同的域中。

)6.分析步骤。

1>分析js **。通过xhr调用来解析js获得所有可能的函数。

可以看出getquote,loadmyarea and loadhtml 调用the xhr object。而getprice调用getquote

2>automating ie with watir.使用watir来自动操作ie,其他的工具也可以,只要保证他们可以触发事件。

design and implementation of a high-performance distributed web crawler

1.提出一个健壮移植性好的分布式爬虫系统。

2.一个好的爬虫应满足俩方面:1)有一个好的爬取策略,决定**哪一个页面2)有一个高优化的系统结构,可以在**大量网页的同时应对崩溃等。

同时面临的挑战:系统设计、i/o、网络效率、健壮性、易用性。

英语学习之学会记笔记

作为一名学生,记课堂笔记伴随着学习的整个过程。它可以帮助我们理清听课的思路 抓住听课的重点,并且为日后复习提供方便,更重要的是它能使我们在学习时高度集中注意力,深入理解教师所讲的内容,从而提高学习效率。在英语学习过程中会遇到许多知识点,如果认真记录下来,单词辨析 固定搭配 特殊用法等较琐碎的知识便能...

记笔记的技巧

记笔记是一门能够让你在考试中取得好成绩的一项技巧。从应付考试到研究 但是不幸的是大多数学校并没有开设教你如何记笔记。那就看看下面的建议吧。记关键的 如果你的老师有板书,那你赚了 你可以把它们抄下来。如果没有,那就写下课堂中重要的点。你的历史老师在课上有提到内战的关键日期吗?你的英语老师有举几个莎士比...

网络编程学习笔记

一 tcp网络编程流程。1 client端。初始化socket 解析服务器地址。connect send2 server端。初始化soket用于监听。解析地址。bind地址,绑定本机的地址。listen监听socket accept接收。select轮训判断是否有数据更新。二 函数学习。1 主机字节...