51Testing软件测试论坛

标题: pyspider基本使用和项目删除 [打印本页]

作者: 老白的释然    时间: 2019-3-7 14:49
标题: pyspider基本使用和项目删除

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小时之后自动删除。



作者: Miss_love    时间: 2020-12-30 18:06
支持分享




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2