PySpider:一个国人编写的强大的网络爬虫系统并带有强大的WebUI。采用Python语言编写,分布式架构,支持多种数据库后端,强大的WebUI支持脚本编辑器,任务监视器,项目管理器以及结果查看器。
一: 在cmd中使用pysider all启动pyspider及其组
二:输入链接http://localhost:5000,进入pyspider dashboard面板
三:创建项目 点create会出现create new project对话框,第一行是项目名字,第二行是开始的url地址(以去哪儿网站为例),填写完成点击creat。
四:出现pyspider的项目编辑和调式页面 左侧是上侧run按钮是单步调式爬虫,下册是5个点击按钮(下面会使用到)。 右侧是pyspider自动生成的一段代码 handler是爬虫的主类,包括爬取定义存储,基本可以在这个handler可以完成 crawl_config属性是可以将所有爬取的配置统一定义到这里。包括headers、设置代理等。 On_start()是爬取入口,方法内包括你要爬取的url,和callback参数,这个参数指定了这个页面爬取成功后用哪个方法进行解析,这里使用index_page(),如何在on_start爬取成功,生成的response机会通过callback交给inde_page() Index_page()接受了上面的response参数,就可以对接pyquery,我们直接就可以doc()中的方法传入css选择器,这样就解析网页了,也就是doc内容进行改换和遍历。 Index_page()里面的callback同上一样进行对接解析方法:detail_page()。
五:首先点击run,此时在follows位置会发生变化 点击follows以后页面会出现链接,点击url三角链接 生成同类型的更多url 我这边在右侧进行了代码修改和添加,所以follows是11个,没有改动右侧的代码自动生成应该在200多个follows。 点击html可以看到网页源码 点击web就可以看到qunaer的页面 点击了web停留可以通过上下滚动看网页 六:点击enable css seletor helper,会在去哪儿的网页上面形成 点击网页里面的标题 生成了li.tit a的对象 点击右侧覆盖doc()里面的内容接着点击 就会将doc()内容进行变化 就会发现follows发生的变化,有11个。 点击其中一个网址,查找html可以发现其中没有img,web页面也只有文字没有图片。 pyspider对接了phantomjs,只需要修改一个参数就可以对接了。 加入fetch_type='js' 重新再次点击run,再去观察web和html就可以发现图片和img节点了。 最后我们需要提取作者、标题等,所以修改detail_page()方法中的内容 再次回到pyspider dashboard面板可见 项目如何删除 将项目名字(group)改成delete,将状态(status)改成stop,24小时之后自动删除。
|