python – 如何定义scrapy shell使用哪个蜘蛛?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python – 如何定义scrapy shell使用哪个蜘蛛?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含914字,纯文字阅读大概需要2分钟。
内容图文
![python – 如何定义scrapy shell使用哪个蜘蛛?](/upload/InfoBanner/zyjiaocheng/955/3c0c432cc80d4a33a755513f43b044f2.jpg)
我正在尝试使用Scrapy shell测试一些XPath,但似乎是在调用我不完整的蜘蛛模块进行抓取,这不是我想要的.有没有办法定义哪种蜘蛛scrapy用它的shell?更重要的是,为什么Scrapy这样做;难道不知道蜘蛛还没准备好用吗?这就是为什么我正在使用shell?否则我会用
scrapy crawl spider_name
如果我想使用特定的蜘蛛
编辑:在永远查看Spider文档之后,我找到了shell中使用的spider实例的以下描述.
spider – 已知处理URL的Spider,如果没有为当前URL找到蜘蛛,则使用BaseSpider对象
这意味着,scrapy已将URL与我的蜘蛛相关联,并且正在使用它而不是BaseSpider.不幸的是,我的蜘蛛还没有准备好进行测试,所以有没有办法强迫它使用BaseSpider作为shell呢?
解决方法:
Scrapy会根据allowed_domains属性自动选择蜘蛛.如果给定域有多个蜘蛛Scrapy将使用BaseSpider.
但是,它只是一个python shell,你可以实例化你想要的任何蜘蛛.
>>> from myproject.spiders.myspider import MySpider >>> spider = MySpider() >>> spider.parse_item(response)
编辑:作为不使用蜘蛛的解决方法,您可以设置allowed_domains = []
内容总结
以上是互联网集市为您收集整理的python – 如何定义scrapy shell使用哪个蜘蛛?全部内容,希望文章能够帮你解决python – 如何定义scrapy shell使用哪个蜘蛛?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。