Firefox数据采集插件大全

本文介绍了使用firefox进行数据采集的一些小窍门、一些数据采集建议和一些优秀的用于数据采集的firefox插件。

实时操作浏览器DOM的一些注意事项

firefox的插件能够实时的对展现出来的网页进行DOM操作和查看,请注意通过firefox的firebug还有chrome的"查看元素"功能查看到的都不是页面最初的源码,而是经过浏览器的一些修改后的结果,比如浏览器会对收到的源码作清理操作,作执行javascript操作。比如对于firefox浏览器,它会自动的给table元素加上<tbody>标签。然而在数据采集时候,比如使用scrapy时,并没有经过浏览器这一步骤的处理,所以如果采集规则中带有<tbody>标签,显然会解析失败。

因此,使用firefox或者xpath做数据采集规则设计和处理时,要注意:

  • 先禁用firefox的javascript执行引擎,然后再对DOM做提取xpath的操作,这样的xpath才能用于scrapy框架中
  • 不要使用xpath的完全绝对路径,比如/html/body/div/a/href这样的,最好使用一些相对的定位方法(比如id, class, width等),或者其他的一些特性比如contains(@href, 'image')
  • 在你的xpath中永远不要出现<tbody>标签,除非你确定目标站有这个标签

用于数据采集的firefox插件

Firebug

地址:http://getfirebug.com/

Firebug是一个web开发者大都知道的工具,它在web采集中也非常的有用。当你鼠标移动到一个页面元素上时,firebug能够让你快速查看其html代码,这样当你构建一个元素的xpath路径时非常的有用。

20130930114533

XPather

地址:https://addons.mozilla.org/zh-CN/firefox/addon/xpather/

当你写好了一个xpath,使用该插件能够在该页面检测一下是否正确,是否能正常工作。

XPath Checker

地址:https://addons.mozilla.org/zh-CN/firefox/addon/xpath-checker/

另外一个firefox插件,能够让你在页面上检测写的xpath是否正确。

Tamper Data

地址:https://addons.mozilla.org/zh-CN/firefox/addon/tamper-data/

一个插件,能够让你修改由firefox发送的HTTP头,Firebug也能够查看HTTP头但不能修改。这个功能很强大,能直接绕过页面的javascript检测直接将参数提交给服务器。

Firecookie

地址:https://addons.mozilla.org/zh-CN/firefox/addon/firecookie/

使用Firecookie很方便的对cookie进行查看和管理,使用该插件能够创建一个新的cookie,删除已有的cookie,查看现有网站的cookie列表,管理cookie权限等很多操作。

HttpFox

地址:https://addons.mozilla.org/en-US/firefox/addon/httpfox/

对HTTP的发送、接受、参数、cookie进行查看、修改、重新发送的插件

20130930115530

Edit Cookies

地址:https://addons.mozilla.org/en-US/firefox/addon/edit-cookies/?src=search

在线更新、新增、删除cookie插件,不需要页面刷新或者修改txt文件。Edit Cookies提供了一个界面用于对cookie的操作。

20130930120232

Tamper Data

地址:https://addons.mozilla.org/en-US/firefox/addon/tamper-data/?src=search

使用tamperdata能够查看和修改浏览器的HTTP/HTTPS头和发送的POST数据。比如对HTTP的发送接收信息进行跟踪和调试,或者对提交的POST数据进行修改。

Live HTTP Headers

地址:https://addons.mozilla.org/en-US/firefox/addon/live-http-headers/?src=search

查看HTTP headers的插件

插件的选择

对于大部分静态页面来说,使用firebug、xpath、XPath Checker就能够设计一套解析规则,设计采集流程。但是对于大部分动态网站来说,很多内容都是javascript加载交互的,就需要进行HTTP头、cookie的分析,比如对于新浪微博的模拟登陆,就需要实时的监控其异步交互过程,这时就需要HttpFox、Tamper Data等插件。更特别的,有时候需要解析网站的javascript代码,可以使用webkit开元库模拟一个浏览器,来对页面做动态解析,不过性能会降低些,可以统一作权衡。

转载请注明来源:http://crazyant.net/2013/09/30/firefox%E6%95%B0%E6%8D%AE%E9%87%87%E9%9B%86%E6%8F%92%E4%BB%B6%E5%A4%A7%E5%85%A8/

相关推荐

Leave a Comment