day005 【爬虫集锦】

爬虫

  • 百度 phamton+爬虫
  • vulcan link
  • link

    看了网上的demo 用child_process来调用phantomjs 只能从stdout获取数据,或者用phantomjs写到文件里再用node打开文件获取数据。
    jsdom就好多了 可以用jquery直接抓dom
    phantomjs开发时不好调试,有时报错stdout就卡着不动了,没法查问题。
    一般用request & cherrio基本就没问题了,有ajax的上phantomjs
    也遇到和楼主一样的困惑,非得将数据拉下来写文件,再让node拿,感觉好不爽。至于解析dom,推荐cherrio。
    node.js调试再简单不过了吧,连ide都不用,试试node-inspector

  • 知道创宇技能手册 link

前端

正则表达式

  • 一篇不错的博文 link
  • regexp短一点哦

HTTP header

  • http://blog.csdn.net/sagomilk/article/details/22971807

爬虫2.0 扫描器!

  • 爬虫技术浅析 http://drops.wooyun.org/tips/3915
  • 跟我一起学Ajax爬虫原理(系列1) http://www.91ri.org/5085.html
  • SuperSpider 基于webkit的web2.0爬虫介绍 http://www.cnseay.com/3543/ 这就是腾讯security的一片博客。
  • Web扫描器科普系列:Web2.0爬虫 http://www.imiyoo.com/category/webscan 有些问题提出得好!
    直接调用浏览器,Python可以使用selenium。
    由于淘宝和京东的搜索结果页面中有部分内容引(如价格)是通过ajax动态获得的,再用javascript把内容写入到相应的标签中的,当搜索Iphone 5s时,后台爬虫利用webkit生成去最终的dom树,爬取有用的数据,经过简单的处理后返回相应的结果。
  • 利用webkit内核执行以上javascript代码生成出以下html代码。
  • 执行鼠标点击或者按键的交互信息??
  • 这是一个ajax请求,有别于以上4种基于dom树解析的分析技术,要捉到其请求的url只能通过hook请求,而webkit文档中并没有提到hook 网络请求的方法。于是通过修改webkit代码hook住每一个由webkit发送出去的请求,从而拿到了 ajax_link.php?id=1&t=1这个url。
  • 去重基本就是将URL中的日期替换成d+

使用webkit

  • 14行代码创建一个浏览器
    import sys
    from PyQt4.QtGui import QApplication
    from PyQt4.QtCore import GUrl
    from PyQt4.QtWebkit import QWebview
    if __name__ == '__name__':
    app = QApplication(sys.argv)
    view = QWebview
    url = 'http://www.baidu.com'
    view.load(QUrl(url))
    view.show()
    app.exec_()
    
  • 问题:Webkit需要视窗系统才能正常启动,而服务器一般都没有视窗系统的。

niubility

  • SuperSpider与wvs的爬虫对比,在著名的爬虫测试平台http://demo.aisec.cn/demo/进行测试,该平台要求爬虫要完全具备3.1所提到的5个功能才能爬取到所有的url

knowledge

  • Ajax爬虫必须能够执行JavaScript代码,所以需要添加一个JavaScript脚本解释器
  • 对页面内容进行DOM树解析
  • 需要对这些事件触发
  • 记录页面状态及变化。主要是页面跳转之类的,局部或整体的。

你可能感兴趣的:(day005 【爬虫集锦】)