1、xmlhttp/winhttp法:
用xmlhttp/winhttp模拟向服务器发送请求,接收服务器返回的数据。
优点:效率高,基本无兼容性问题。
缺点:需要借助如fiddler的工具来模拟http请求。
2、IE/webbrowser法:
创建IE控件或webbrowser控件,结合htmlfile对象的方法和属性,模拟浏览器 *** 作,获取浏览器页面的数据。
优派基贺点:这个方法可以模拟大部分的浏览器 *** 作。所见即所得,浏览器能看到的数据就能用代码获取。
缺点:各种d窗相当烦人,兼容性也确实是个很伤脑筋的问题。上传文件在IE里根本无法实现。
3、QueryTables法:
因为它锋烂是excel自带,所以勉强也算是一种方法。尘派其实此法和xmlhttp类似,也是GET或POST方式发送请求,然后得到服务器的response返回到单元格内。
优点:excel自带,可以通过录制宏得到代码,处理table很方便
。代码简短,适合快速获取一些存在于源代码的table里的数据。
缺点:无法模拟referer等发包头
也可以利用采集工具进行采集网页端的数据,无需写代码。
搜索引擎的整个工作过程包括三个部分:
1、抓取
搜索引擎为想要抓取互联网站的页面,不可能手动去完成,那么百度,google的工程师就编写了一个程序,他们给这个自动抓取的程序起了一个名字,蜘蛛(也可以叫做“机器人”或者“网络爬虫”)。
互联网上的信息存储在无数个服务器上,任何搜索引擎要想回答用户的搜索,首先要把网页存在自己本地的服务器上,这靠的就是网络爬虫。它不停的向各种网站发送请求,将所得到的网页存储起来。
通常的做法是利用网页之间粗槐型的链接从一个网页岩猜出发,提取出指向其他页面的链接,把它们当成将下次要请求的对象,不停重复这个过程。有很多细节要被考虑。比如避免循环链接的网页;解析网页文档,提取里边的链接;当链接无法打开时对错误进行处理等。
2、索引
索引就是帮助程序进行快速查找的。大家都用过英汉词典。字典前边的按照单词首字母排列的部分就是索引。搜索引擎也一样。这里要介绍第一个最重要的数据结构:反转列表。
搜索引擎所拥有的文档中出现的每一个单词都拥有一个反转列表。它记录了这个单词在多少文档中出现,分别是哪些文档,每个文档分部出现多少次,分别出现在什么位置等信息。这样当搜索相关单词时,Google就不用遍历所有的文档,只需要查找每个单词对应的反转列表就可以知道这个词在哪里出现了。
每一个网络文档不仅只有文本信息。它还可能包括文件名,引用等部分。为了提高搜索质量,搜索引擎需要对文档的不同部分分别处理,构造反转列表。每一部分的单词都要被加入到这个词属于此部分的反转列表里。
3、搜索
有了索引,就可以快速找到所需内容了。前边说过搜索引擎根据用户的信息需求查找匹配的内容。信息需求来自于用户输入。搜索引擎用把用户输入的搜索字符进行一些类似于创建索引时对文本的处理,然后生成解析树。总之,以上技巧最终目标是帮助搜索引擎更好理解用户的信息需求,以便查找出更高质量的文档。
4、排序
用户输入的关键词,就可以查看到相关的内容了。这个时候,就会一条一条的展示,那谁排在第一,谁排在第二,我们把这种结果的排序,称为排名。
排名会是很复杂的,系统会对其进行一系列复杂的分析,并根据分析的结论在明圆索引库中寻找与之最为匹配的一系列网页,按照用户输入的关键词所体现的需求强弱和网页的优劣进行打分,并按照最终的分数进行排列。
在互联网络的时代,信息如同大海般没有边际。甚至我们获取信息的方法已经发生改变:从传统的翻书纯物查字典,继而变成通过搜索引擎进行检索。我们从信息匮乏的时代一下子走到了信息极大丰富今天。在今天,困扰我们的问题不是信宴哪息太少,而是太多,多得让你无从分辨,无从选择。因此,提供一个能够自动在互联网上抓取数据,并自动分拣、分析的工具有非常重要的意义。
我们通过传统的搜索引擎所获得的信息,通常是通过网页的形式所展现的,这样的信息人工阅读做祥液起来自然亲切,但计算机却很难进行加工和再利用。而且检索到的信息量太大,我们很难在大量的检索结果中抽取出我们最需要的信息。采用自动识别关键词技术,将你需要的信息从海量的信息中筛选出来。就是数据抓取
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)