从python脚本调用Scrapy Spider?

用户名

我创建了一个名为aqaq的蜘蛛,它位于文件名image.py中。image.py的内容如下:

from scrapy.spider import BaseSpider
from scrapy.selector import HtmlXPathSelector
from scrapy.http import Request
a=[]
from aqaq.items import aqaq
import os
class aqaqspider(BaseSpider):
    name = "aqaq"
    allowed_domains = ["aqaq.com"]
    start_urls = [
                        "http://www.aqaq.com/list/female/view-all?limit=all"
    ]

    def parse(self, response):
        hxs = HtmlXPathSelector(response)
        sites=hxs.select('//ul[@class="list"]/li')
        for site in sites:
                name=site.select('a[@class="product-name"]/@href').extract()
                a.append(name)
        f=open("url","w+")
        for i in a:
                if str(i)=='[]':
                        pass;
                else:
                        f.write(str(i)[3:-2]+os.linesep)
                        yield Request(str(i)[3:-2].rstrip('\n'),callback=self.parsed)

        f.close()
    def parsed(self,response):
        hxs = HtmlXPathSelector(response)
        sites=hxs.select('//div[@class="form"]')
        items=[]
        for site in sites:
                item=aqaq()
                item['title']=site.select('h1/text()').extract()
                item['cost']=site.select('div[@class="price-container"]/span[@class="regular-price"]/span[@class="price"]/text()').extract()
                item['desc']=site.select('div[@class="row-block"]/p/text()').extract()
                item['color']=site.select('div[@id="colours"]/ul/li/a/img/@src').extract()
                items.append(item)
                return items

我正在尝试使用我的python脚本运行以下蜘蛛:

from twisted.internet import reactor
from scrapy.crawler import Crawler
from scrapy.settings import Settings
from scrapy import log, signals
from spiders.image import aqaqspider
from scrapy.xlib.pydispatch import dispatcher
def stop_reactor():
    reactor.stop()
dispatcher.connect(stop_reactor, signal=signals.spider_closed)
spider = aqaqspider(domain='aqaq.com')
crawler = Crawler(Settings())
crawler.configure()
crawler.crawl(spider)
crawler.start()a
log.start(loglevel=log.DEBUG)
log.msg("------------>Running reactor")
result = reactor.run()
print result
log.msg("------------>Running stoped")

在运行上述脚本时,出现以下错误:

2013-09-27 19:21:06+0530 [aqaq] ERROR: Error downloading <GET http://www.aqaq.com/list/female/view-all?limit=all>: 'Settings' object has no attribute 'overrides'

我是初学者,需要帮助吗???

马克斯

您必须使用CrawlerSettings代替Settings

更改此行:

    from scrapy.settings import Settings

通过:

    from scrapy.settings import CrawlerSettings

这行:

    crawler = Crawler(Settings())

通过:

    crawler = Crawler(CrawlerSettings())

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将参数传递给python脚本中的scrapy spider

来自分类Dev

无法调用 Scrapy spider_opened

来自分类Dev

Python Scrapy tutorial KeyError: 'Spider not found:

来自分类Dev

Python Scrapy:如何从单独的文件运行Spider?

来自分类Dev

Scrapy Spider无法正确刮取

来自分类Dev

Scrapy Spider Xpath Image Url

来自分类Dev

Scrapy Spider无法正确刮取

来自分类Dev

Scrapy Spider Xpath Image Url

来自分类Dev

SCRAPY SPIDER - 发送帖子请求

来自分类Dev

Scrapy Spider:完成后重新启动Spider

来自分类Dev

从脚本运行Spider时获取scrapy crawl命令的功能

来自分类Dev

Scrapy扩展:不会调用spider_closed

来自分类Dev

Scrapy Spider 不会调用“回调”函数

来自分类Dev

Scrapy Spider没有提取xpath数据

来自分类Dev

Scrapy Spider无法保存到csv

来自分类Dev

更新Scrapy Spider无法反映更改

来自分类Dev

从管道将对象从Scrapy传递到Spider

来自分类Dev

遇到指定的URL时停止Scrapy Spider

来自分类Dev

如何从Scrapy Spider设置抓取工具参数

来自分类Dev

Scrapy Spider 不遵循链接和错误

来自分类Dev

当页面日期比昨天旧时停止 Scrapy spider

来自分类Dev

Scrapy Spider 不返回所有元素

来自分类Dev

如何使用scrapy spider python在<ol> <li>下获取价值

来自分类Dev

为什么通过CrawlerProcess 运行多个scrapy spider 会导致spider_idle 信号失败?

来自分类Dev

如何使用Spider.py Python模块

来自分类Dev

python Spider返回空的json文件

来自分类Dev

Python BeautifulSoup Spider无法正常工作

来自分类Dev

激活Python Spider程序中的按钮

来自分类Dev

从脚本运行时,如何将用户定义的参数传递给scrapy Spider