PySpider:一个国人编写的强大的网络爬虫系统并带有强大的WebUI。采用Python语言编写,分布式架构,支持多种数据库后端,强大的WebUI支持脚本编辑器,任务监视器,项目管理器以及结果查看器。
一: 在cmd中使用pysider all启动pyspider及其组
[attach]122641[/attach]
二:输入链接http://localhost:5000,进入pyspider dashboard面板
[attach]122642[/attach]
三:创建项目
点create会出现create new project对话框,第一行是项目名字,第二行是开始的url地址(以去哪儿网站为例),填写完成点击creat。
[attach]122643[/attach]
[attach]122644[/attach]
四:出现pyspider的项目编辑和调式页面
[attach]122645[/attach]
左侧是上侧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位置会发生变化
[attach]122646[/attach]
点击follows以后页面会出现链接,点击url三角链接
[attach]122647[/attach]
生成同类型的更多url
[attach]122648[/attach]
我这边在右侧进行了代码修改和添加,所以follows是11个,没有改动右侧的代码自动生成应该在200多个follows。
点击html可以看到网页源码
点击web就可以看到qunaer的页面
点击了web停留可以通过上下滚动看网页
[attach]122649[/attach]
六:点击enable css seletor helper,会在去哪儿的网页上面形成
[attach]122650[/attach]
点击网页里面的标题
[attach]122651[/attach]
生成了li.tit a的对象
点击右侧覆盖doc()里面的内容接着点击
[attach]122652[/attach]
就会将doc()内容进行变化
就会发现follows发生的变化,有11个。
点击其中一个网址,查找html可以发现其中没有img,web页面也只有文字没有图片。
pyspider对接了phantomjs,只需要修改一个参数就可以对接了。
[attach]122653[/attach]
加入fetch_type='js'
重新再次点击run,再去观察web和html就可以发现图片和img节点了。
最后我们需要提取作者、标题等,所以修改detail_page()方法中的内容
[attach]122654[/attach]
再次回到pyspider dashboard面板可见
[attach]122655[/attach]
项目如何删除
将项目名字(group)改成delete,将状态(status)改成stop,24小时之后自动删除。
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) | Powered by Discuz! X3.2 |