博文
怎样采集淘宝宝贝的用户评论信息(2011-03-15 20:14:00)
摘要:MetaSeeker速成手册从《卓越网翻页抓取不了怎么办》开始连续多章讲解采集AJAX网站的技巧。AJAX网站内容使用Javascript编程语言动态显示,给普通网络爬虫造成很大障碍,而网站采集器MetaSeeker嵌
入了一个完整的web浏览器,理论上说,网页上能够看到的内容都能够采集下来。但是,Javascript是一个强大的编程语言,AJAX网页内容显示技
巧千变万化,在不定制的情况下,几乎不可能存在一个能够应对所有AJAX情形的网站采集器。这也是MetaSeeker快速升级的原因:将最新出现的
AJAX开发模式纳入其中。2010年5月,MetaSeeker再次为提升AJAX网站采集能力进行了升级,主要目的是采集淘宝宝贝的用户评论信息,中国人民大学某研究室的科研项目期望从淘宝宝贝的普通商品信息和用户评论信息中挖掘出某些关联规则。本文将详细解释淘宝宝贝的评论信息的采集规则的定义方法。
对采集目标的描述:
样本页面:http://item.tmall.com/item.htm?id=8517156144&source=dou&prc=2&cm_cat=50029375
主题名 demo_TB_detail:采集淘宝宝贝的普通信息
demo_TB_comment:采集用户评论信息
采集的内容采集商品信息商品名
商品价格
采集所有用户评论内容
日期
买家
买家网址
翻页采集所有评论信息
注释1:目标网站的网页结构可能会改变,一些重大改变将影响信息结构的可用性,如果加载本文提到的信息结构时发现某些信息属性(用于存储采集到的数据的字段)定位失败,请参照《修改失效的采集规则》调整信息属性的映射关系。
注释2:本文非入门教程,所以,不会将操作步骤一步步分解开并用屏幕截图显示出来,如果需要入门知识,请顺序阅读《MetaSeeker速成手册》。
1 分析样本页面
在淘宝宝贝网页上,用户评论显示在“评价详情”标签(Tab)下,点击这个标签时,网页使用Javascript从淘宝服务器上将评价信息下载并显示出来。下面我们做个实验。
图1
图1有如下步骤:
将样本页面加载到MetaStudio的内嵌浏览器中
等待网页加载完成,此时,Me......
便宜有效的BI分析和报表方案(2011-01-30 11:22:00)
摘要:
今天看到一个很有意思的专门为小企业做BI(Business Intelligence,商业智能,商业情报)分析报表的在线服务RJMetrics,很有意思的原因是它的专注,专门做数据分析和图表报告,客户群也很专注。在当前商业智能和竞争情报快速发展和转型的时期,对我们进一步开发和推广SliceProfile企业竞争情报系统很有借鉴价值。
根据RJMetrics Aims to be Web Startup's Ace in the Hole的报道,他们的目标是开发出一套服务:
effective and affordable solutions for their internet startup customers,
helping them see trends, create timely reports, and interact more effectively
with their investors and employees.
可见
目标客户:互联网初创企业
报表的读者:外部投资人和内部员工
根据RJMetrics网站的FAQ栏目内容,他们的客户的分布领域
e-commerce,
software-as-a-service,
social media,
online content industries,
investors and
consulting firms
他们的想法是:对于一个初创企业来说,编制图表往往很费时从而没有足够专门资源及时地做这个工作,所以他们凭借BI分析的丰富经验承担这个工作。
他们的服务几个值得关注的特征:
同Google Analytics和Omniture是有区别的,因为RJMetrics不像前者需要在目标网站上部署JS/Javascript代码进行用户访问数据采集,而是直接将用户数据库导入RJMetrics数据库,简而言之,RJMetrics是数据库分析
因为要导入用户数据库,所以安全性备受关注
同大型BI提供商相比,例如,SAP,RJMetrics通过在线服务方式提供便宜有效的服务,客户不用部署任何软件,所以,初创企业甚至非营利组织也能用上商业智能分析服务。
用户数据库各不相同,在RJMetric......
什么是Web数据挖掘(2011-01-30 10:52:00)
摘要:
今天读了一篇长E文Web Content Mining,
从题目看好像没有什么特别,也许是普通的商业软文,但是,看了第一段后发现是关于Dr. Bing Liu of the University of
Illinois Chicago的,所以打足精神一句一句把它读完。第一次遇到Bing
Liu这个名字是在一年前,华中科技大学一博士朋友推荐给我《Sentiment Analysis and
Subjectivity》这篇综述,就是Bing Liu写的,然后又阅读了《Opinion Spam and
Analysis》。都是翻来覆去精读,因为几年前就想着手开发一个web数据挖掘软件,主要用于企业竞争情报分析,酝酿了很多年都不敢下手,理论性太
强,担心吃不透或吃不准。直到2009年底开始陆续接触了几个网络舆情监测项目,也承接了好几个行业的类似项目,才下定决心投入SliceProfile的
开发,这个项目投入巨大,资源投入十分集中,但开发周期很短(5个月),因为整个框架早就在头脑中酝酿成型了,尤其阅读《Sentiment
Analysis and
Subjectivity》获得的灵感更多,还阅读了大量引文,再三权衡学术和商业的分界线的位置。所以今天看这篇文章的动力决不是因为有中国名字的人写
了一篇E文而已。
这篇文章好像是对刘博士新书《Web Data Mining》的介绍和读后感,没有读过这本书,所以这篇文章的部分内容没有理解,而且有些观点不知道是刘博士的还是文章作者的。一些重要结论和一些本人的疑惑一并记录下来,作成一篇读书笔记。
Web数据挖掘的种类
刘博士将Web Data Mining分成三类:
Web Usage Mining:挖掘用户访问网站的行为模式,例如,挖掘clickstreams,可能会用到用户TCP/IP地址和用户帐号信息,以便做关联分析
Web Structure Mining:挖掘超链接背后的知识,例如,分析web信息是怎样聚类的
Web Content Mining:从网页内容挖掘知识
Web内容挖掘要做哪些工作
根据这篇文章,要达到Web内容挖掘的目的,需要做:
Structured Data Extraction:结构化数据提取
I......
翻页抓取当当网价格数据(2011-01-04 16:22:00)
摘要:本文是《定义网站抓取规则》一
文的续文,那篇文章讲解了怎样用MetaStudio定义规则,而且不用编程,也不用察看网页的HTML代码,只需要鼠标点击并对被抓取的内容进行标注,
抓取规则由MetaStudio自动生成。而且,我们还看到:在MetaStudio的抓取结果输出窗口中已经显示了网站抓取结果。但是,我们抓取当当网
商品价格数据的目的是建立比价系统,如果从MetaStudio的抓取结果窗口中手工将结果数据拷贝出来显然是不符合自动化处理要求的,本文要解决以下问
题:
翻页抓取所有商品信息
自动保存抓取结果
周期性自动化和增量抓取
1 定义翻页抓取规则
紧接着《定义网站抓取规则》的操作步骤,但是,这一次我们修改一下主题名以示区别:
主题名:demo_DD_list_1
注:本文定义的信息结构已经上载到服务器了,读者可以按照《加载信息结构》讲述的方法加载这个信息结构,以提高阅读本文的效果。
注意1:目标网页结构改变后可能会影响以前定义好的信息结构,如果加载不成功,可以参照《修改失效的抓取规则》一文对信息结构进行修改。
注意2:如果该信息结构加载不成功,可能还有别的原因,《抓取网页文字内容片断》给出了详细分析
假设我们已经按照《定义网站抓取规则》的操作步骤定义了当当网商品价格抓取规则,因为GSM手机有很多,分成了多页,接下来我们想翻页抓取每一页上的手机数据。当我们浏览网页并翻页时,我们需要点击一个表示“下一页”的超链接或者按钮,导航到下一页,GooSeeker(MetaSeeker的开发团队)称这个超链接或者按钮为线索,就是网络爬虫导航爬行的线索。线索有很多种,本文只用到记号线索,其它类型参见《获取网站抓取线索》。
1.1 创建线索
图1
图1显示了怎样创建一个用于翻页的线索,有如下步骤:
转到Clue Editor工作台
点击newClue按钮,创建一个线索
点击Marker类型,设定为记号线索,“下一页”字样就是记号
指定为线内线索类型。
由于采用线内线索,目标主题名被自动填入,而且目标主题名与本主题名相同,可以手工修改目标主题名,但是,翻页抓取时不应该修改。什么时候修改?参见《抓取AJAX网站》教程。
翻页抓取时,导航到下一页的线索一般定义成线内线索,代......
采集当当百货价格以建立比价系统(2011-01-04 16:21:00)
摘要:当当上市、当当与京东对阵等等将当当推到媒体的风头浪尖上,所以我们不妨以当当作为演练对象,而且还有实用价值:建立在线商城的比价系统。这是任何行业参与者必须拥有的辅助系统。
本章只是一个入门教程,目标是从当当商品列表页上将下面的信息采集下来:
商品名:商品名称
商品网页:显示商品详细信息的网页地址,这个地址有很多用处,例如,用做导航,以便执行多级采集,参见《采集卓越亚马逊百货价格》。
市场价格:当当给出的市面价格
当当价格:当当的优惠价
其它说明:
列表页上有很多商品,GooSeeker(MetaSeeker的开发团队)用了一个专有名词“多实例”,表示从一个网页上采集多个商品。这个名词与其它网络采集软件的叫法不同,例如,“火车头”、网络神采、狂采、军犬、超级采集等等,它们一般称为循环采集。
另外,GooSeeker拥有的其中一个专利就是怎样提高网络数据采集规则的适应性,如果目标网页结构变化了,采集规则受到的影响尽量降到最低,GooSeeker称其为FreeFormat技术。本章也不使用该技术,而在下章讲解。
网络采集系统MetaSeeker采用了云计算架构,任何时间、任何地点您都可以使用以前定义好的采集规则,本章使用的信息结构(用于生成采集规则的网页结构描述)名称是demo_DD_list,您可以加载体验或者更名后给自己存一份。
注意:目标网页结构改变后可能会影响以前定义好的信息结构,如果加载不成功,可以参照《修改失效的采集规则》一文对信息结构进行修改。
定义数据采集规则
当当网价格采集使用的规则是由MetaStudio自动生成的,您需要进行的操作实质上是对网页内容进行标注,也就是描述网页信息结构,剩下的工作由MetaStudio自动完成。您需要按顺序执行以下章节的操作。
命名采集主题
运行MetaStudio后,如图1执行下面的步骤。
图1
图1显示了如下步骤:
输入样本页面的
网址,并回车(我们为了采集手机价格,输入这个地址:http://category.dangdang.com/list?ps=39&
cat=4001044&highp=&lowp=&sort=5
)。样本页面既是网络爬虫的入口,也是被采集的目标,而且能够代表具......
怎样周期性抓取网页数据(2010-01-27 22:55:00)
摘要:周期性抓取网页数据是抓取网页数据工具DataScraper V4.x新增功能,上一节讲解的方法虽然也是大批量抓取网页数据,但是,每个批量需要手工启动,而且需要手工指定抓取的网页数量。周期性网页数据抓取根据配置参数,由DataScraper自主决定批量抓取开始时间、一个批量中抓取多少网页、是否加速抓取以及遇到故障后自动恢复执行等。配置参数存储在周期性抓取网页数据指令文件中,也就是说,需要先配置好周期性抓取指令文件,然后启动DataScraper,DataScraper将配置参数读入后,根据指令进行不同种类的周期性网页数据抓取,有以下种类:
* 自动启动的周期性网页数据抓取
* 手工启动周期性网页数据抓取
自动启动适合一天24小时并连续几天地抓取网页数据,将指令文件中的周期性抓取会话参数auto设置成true,DataScraper启动时,除了启动拥有经典GUI界面的管理DataScraper以外,还为每个auto会话启动一个简化GUI界面的周期性抓取DataScraper。缺省情况下,此界面不显示内嵌的浏览器窗口,如果需要观察提取到哪个网页了,需要放大其窗口,内嵌浏览器将自动显示。
手工启动适合非24小时连续抓取,例如,只在上班时间运行周期性网页数据抓取。将周期性会话参数设置成false,DataScraper启动时并不为 false类会话自动启动一个DataScraper窗口,当用户需要运行此类周期性网页数据抓取时,在DataScraper左栏主题列表上点击鼠标右键,选择排期菜单,弹出一个具有下拉列表的窗口,里面罗列所有周期性抓取会话,既包括自动启动的也包括手工启动的,选择一个,确认后会弹出一个有简化界面的DataScraper窗口,按照周期性抓取指令文件的配置参数,开始安排周期性抓取活动。
重要参数介绍
周期性网页数据抓取由两个参数决定抓取活动的计划安排,开始时间(start参数)和周期(period参数),设置开始时间是为了避免在一台计算机上运行多个DataScraper线程时造成网络通信竞争,所以,每个抓取会话的开始时间应该错开。周期参数容易引起误解,实际上不是周期而是间歇时间,也就是说抓取完一批网页数据后要休息多长时间才开始抓取下一批。因为抓取网页数据的速度受一些不可控因素的影响,例如,受目标网站的速度和网络......