Платформа: Debian 8 + питон 3,4 + Scrapy 1.3.2 Вот мой паук скачать некоторые URLs образуют yahoo.comПочему информация об ошибке не может быть записана в указанный файл?
import scrapy
import csv
class TestSpider(scrapy.Spider):
name = "quote"
allowed_domains = ["yahoo.com"]
start_urls = ['url1','url2','url3',,,,'urls100']
def parse(self, response):
filename = response.url.split("=")[1]
open('/tmp/'+filename+'.csv', 'wb').write(response.body)
Некоторая информация ошибка возникает, когда для его выполнения:
2017-02-19 21:28:27 [scrapy.spidermiddlewares.httperror] INFO: Ignoring response
<404 https://chart.yahoo.com/table.csv?s=GLU>: HTTP status code is not handled or not allowed
https://chart.yahoo.com/table.csv?s=GLU является одним из start_urls.
Теперь я хочу поймать информацию об ошибке.
import scrapy
import csv
import logging
from scrapy.utils.log import configure_logging
configure_logging(install_root_handler=False)
logging.basicConfig(
filename='/tmp/log.txt',
format='%(levelname)s: %(message)s',
level=logging.INFO
)
class TestSpider(scrapy.Spider):
name = "quote"
allowed_domains = ["yahoo.com"]
start_urls = ['url1','url2','url3',,,,'url100']
def parse(self, response):
filename = response.url.split("=")[1]
open('/tmp/'+filename+'.csv', 'wb').write(response.body)
Почему информация об ошибке, таких как
2017-02-19 21:28:27 [scrapy.spidermiddlewares.httperror] INFO: Не обращая внимания на ответ >: HTTP код статуса не обрабатывается или не разрешено не может быть записано в /home/log.txt?
Подумайте, eLRuLL, я добавил handle_httpstatus_list = [404].
import scrapy
import csv
import logging
from scrapy.utils.log import configure_logging
configure_logging(install_root_handler=False)
logging.basicConfig(
filename='/home/log.txt',
format='%(levelname)s: %(message)s',
level=logging.INFO
)
class TestSpider(scrapy.Spider):
handle_httpstatus_list = [404]
name = "quote"
allowed_domains = ["yahoo.com"]
start_urls = ['url1','url2','url3',,,,'url100']
def parse(self, response):
filename = response.url.split("=")[1]
open('/tmp/'+filename+'.csv', 'wb').write(response.body)
Информация об ошибке по-прежнему не может быть записана в файл /home/log.txt, почему?