小编Niv*_*ius的帖子

scrapy - 每个 starurl 的单独输出文件

我有一个运行良好的爬虫蜘蛛:

`# -*- coding: utf-8 -*-
import scrapy


class AllCategoriesSpider(scrapy.Spider):
    name = 'vieles'
    allowed_domains = ['examplewiki.de']
    start_urls = ['http://www.exampleregelwiki.de/index.php/categoryA.html','http://www.exampleregelwiki.de/index.php/categoryB.html','http://www.exampleregelwiki.de/index.php/categoryC.html',]

#"Titel": :

def parse(self, response):
    urls = response.css('a.ulSubMenu::attr(href)').extract() # links to den subpages
    for url in urls:
        url = response.urljoin(url)
        yield scrapy.Request(url=url,callback=self.parse_details)

def parse_details(self,response):
    yield {
        "Titel": response.css("li.active.last::text").extract(),
        "Content": response.css('div.ce_text.first.last.block').extract(),
    }
Run Code Online (Sandbox Code Playgroud)

` 与

scrapy runningpider spider.py -o dat.json 它将所有信息保存到 dat.json

我希望每个起始 url 都有一个输出文件 categoryA.json categoryB.json 等等。

一个类似的问题没有得到解答,我无法重现这个答案,我也无法从那里建议中学习。

我如何实现拥有多个输出文件的目标,每个 starturl 一个?我只想运行一个命令/shellscript/文件来实现这一点。

python scrapy web-scraping python-3.x scrapy-spider

2
推荐指数
1
解决办法
1432
查看次数

变量设置但未使用警告但也错误未声明的标识符

调试器告诉我我没有使用我的变量,但它也没有声明。这里发生了什么?if 语句有自己的作用域吗?不知何故,固定长度的数组似乎不在 if 块内的同一范围内。

我的最小例子

#include <stdio.h>
#include <stdlib.h>

void nullarray(int start,int end,  char array[]){
if(start<end) // TODO used to be <=
    {
    array[start]='0';
    nullarray(++start,end,array);
    }else{array[start]='\0';}

}


int main()
{
    int commaindex2=-1;
    int mostdecimaldigits=6;

      if(commaindex2==-1){
            char decimalnum2[1];decimalnum2[0]='0';
            }
    else{
    char decimalnum2[mostdecimaldigits]; // get enought store incl filling up zeros
    nullarray(0,mostdecimaldigits,decimalnum2); // write zeros to array

    }
     printf("%s", decimalnum2);
}
Run Code Online (Sandbox Code Playgroud)

调试器输出

||=== Build: Debug in test4 (compiler: GNU GCC Compiler) ===|
D:\main.c||In function 'main':|
D:\main.c|20|warning: variable 'decimalnum2' set but not used …
Run Code Online (Sandbox Code Playgroud)

c scoping undeclared-identifier

0
推荐指数
1
解决办法
1311
查看次数