Curl Scrapyd:一旦我使用Scrapyd调度爬虫,我在哪里可以看到它的输出

Curl Scrapyd:一旦我使用Scrapyd调度爬虫,我在哪里可以看到它的输出,curl,scrapy,scrapyd,Curl,Scrapy,Scrapyd,我是新来的。做了一些阅读并开发了我的爬虫程序,它可以爬过一个新闻网站,并给我所有的新闻文章。如果我简单地运行爬虫程序 scrapy crawl project name -o something.txt 它正确地给出了something.txt中的所有刮取数据 现在我尝试使用scrapyd在localhost:6800上部署我的scrapy crawler项目 我使用 curl http://localhost:6800/schedule.json -d project=tutorial -d

我是新来的。做了一些阅读并开发了我的爬虫程序,它可以爬过一个新闻网站,并给我所有的新闻文章。如果我简单地运行爬虫程序

scrapy crawl project name -o something.txt
它正确地给出了something.txt中的所有刮取数据

现在我尝试使用scrapyd在localhost:6800上部署我的scrapy crawler项目

我使用

curl http://localhost:6800/schedule.json -d project=tutorial -d spider=dmoz_spider
它在命令行上给了我这个

{"status": "ok", "jobid": "545dfcf092de11e3ad8b0013d43164b8"}
我认为这是正确的,我甚至可以在localhost:6800的UI视图中将cralwer视为一个作业

但是我在哪里可以找到我以前在something.txt中收集的爬虫抓取的数据呢

请帮忙

这是我的爬虫代码

class DmozSpider(Spider):
    name = "dmoz"
    allowed_domains = ["timesofindia.com"]
    start_urls = ["http://mobiletoi.timesofindia.com/htmldbtoi/TOIPU/20140206/TOIPU_articles__20140206.html"]

    def parse(self, response):
    sel = Selector(response)
        torrent = DmozItem()
    items=[]
    links = sel.xpath('//div[@class="gapleftm"]/ul[@class="content"]/li')
        sel.xpath("//div[@class='gapleftm']/ul[@class='content']/li/b/a/stname/text()").extract()
    sel.xpath("//div[@class='gapleftm']/ul[@class='content']/li/b/a/@href").extract()

    for ti in sel.xpath("//a[@class='pda']/text()").extract():
        yield DmozItem(title=ti)
    for url in sel.xpath("//a[@class='pda']/@href").extract():
        itemLink = urlparse.urljoin(response.url, url)  
        yield DmozItem(link=url)    
        yield Request(itemLink, callback=self.my_parse)

    def my_parse(self, response):
    sel = Selector(response)
    self.log('A response from my_parse just arrived!')
    for head in sel.xpath("//b[@class='pda']/text()").extract():
        yield DmozItem(heading=head)
    for text in sel.xpath("//a[@class='pda']/text()").extract():
        yield DmozItem(desc=text)
    for url_desc in sel.xpath("//a[@class='pda']/@href").extract():
        itemLinkDesc = urlparse.urljoin(response.url, url_desc) 
        yield DmozItem(link=url_desc)   
        yield Request(itemLinkDesc, callback=self.my_parse_desc)

    def my_parse_desc(self, response):
        sel = Selector(response)
        self.log('ENTERED ITERATION OF MY_PARSE_DESC!')
        for bo in sel.xpath("//font[@class='pda']/text()").extract():
            yield DmozItem(body=bo) 

使用提要导出时,使用URI(通过
feed\u URI
设置)定义提要的存储位置。提要导出支持URI方案定义的多种存储后端类型

curl http://localhost:6800/schedule.json -d project=tutorial -d spider=dmoz_spider -d setting=FEED_URI=file:///path/to/output.json

检查
/var/log/scrapyd/
.thnx在
f980130e92e711e3ad8b0013d43164b8.log
文件中的
/var/log/scrapyd/
@Blender中得到了输出,但是根据教程,我应该在
var/log/scrapyd/scrapyd.out
中得到任何标准的o/p,但我在该文件中没有得到任何东西….@Blender,尽管我得到了o/p在日志中,我实际上需要将输出放在单独的JSON文件中,因为我需要在服务器端对其进行进一步的数据提取和处理。查看
/etc/scrapyd/scrapyd.conf
并查看
items\u dir
设置为什么。路径应该是什么样的。。?我的意思是这样的
file:///home/yogesh/to/output.json
对不起,我遗漏了一些东西或做错了一些事情,我在cmd行
curl中给出了这些http://localhost:6800/schedule.json -d project=tutorial-d spider=dmoz-d setting=FEED\u URI=file:///home/yogesh/output.json
有了这个,我的爬虫程序运行起来了,但我得到了这个日志文件
exceptions中出错。IOError:[Errno 13]权限被拒绝:'/home/yogesh/output.json'
@y.dixit您应该向其他用户授予写权限:
chmod 777/path/to/
。首先完成了
chmod 777/home/crawled_data
,然后在应答中发布了json API命令,感谢kevearlier在我运行
scrapy crawl[spider_name]-o时成功运行了它[something].json-t json
我过去常常获得格式良好的o/p json文件,但是如果我删除了命令的
-t json
部分,尽管扩展名是json,但它的内部不是json格式的……现在也发生了同样的事情……我获得了一个json扩展名文件,但它的格式不好……例如:
{“title”:“FrontPage”}{“title”:“Times City”}{“title”:“Times Nation”}
与此相比,这不是格式良好的JSON