【问题标题】:Write connection status to csv将连接状态写入 csv
【发布时间】:2020-01-08 11:03:19
【问题描述】:

我使用蜘蛛从列表中抓取许多网站。我根据需要工作,但现在我还想获得连接状态。运行蜘蛛时,我看到一些 404、一些 301 或一些 DNS 错误。

如何将连接状态输入到我的 csv 中?

import scrapy


class CmsSpider(scrapy.Spider):
    name = 'myspider'
    f = open("random.csv")
    start_urls = [url.strip() for url in f.readlines()]
    f.close()

    def parse(self, response):
        title = response.xpath('//title/text()').extract_first()
        url = response.request.url
        description = response.xpath('//meta[@name="description"]/@content').extract_first()

        yield {'URL': url, 'Page Title': title, 'Description': description}

【问题讨论】:

标签: python scrapy response


【解决方案1】:

使用

status=response.status
yield {'URL': url, 'Page Title': title, 'Description': description, 'Status':status}

取自Checking a url for a 404 error scrapy

resp.getcode() 仅在使用 urllib2 而不是 scrapy.http.Response 时才有效,这不是正确的方法。

【讨论】:

猜你喜欢
  • 2016-03-10
  • 1970-01-01
  • 2016-02-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多