当前位置: 首页 > 面试题库 >

Scrapy的CSV文件有统一的空行?

谢典
2023-03-14
问题内容

这是蜘蛛:

import scrapy
from danmurphys.items import DanmurphysItem

class MySpider(scrapy.Spider):
    name = 'danmurphys'
    allowed_domains = ['danmurphys.com.au']
    start_urls = ['https://www.danmurphys.com.au/dm/navigation/navigation_results_gallery.jsp?params=fh_location%3D%2F%2Fcatalog01%2Fen_AU%2Fcategories%3C%7Bcatalog01_2534374302084767_2534374302027742%7D%26fh_view_size%3D120%26fh_sort%3D-sales_value_30_days%26fh_modification%3D&resetnav=false&storeExclusivePage=false']


    def parse(self, response):        
        urls = response.xpath('//h2/a/@href').extract()
        for url in urls:            
            request = scrapy.Request(url , callback=self.parse_page)      
            yield request

    def parse_page(self , response):
        item = DanmurphysItem()
        item['brand'] = response.xpath('//span[@itemprop="brand"]/text()').extract_first().strip()
        item['name'] = response.xpath('//span[@itemprop="name"]/text()').extract_first().strip()
        item['url'] = response.url     
        return item

这是项目:

import scrapy
class DanmurphysItem(scrapy.Item):  
    brand = scrapy.Field()
    name = scrapy.Field()
    url = scrapy.Field()

当我使用以下命令运行Spider时:

scrapy crawl danmurphys -o output.csv

输出是这样的:
在此处输入图片说明


问题答案:

要在Scrapy
1.3中解决此问题,您可以通过在中的类的方法中将newline=''作为参数添加到io.TextIOWrapper中进行修补。__init__``CsvItemExporter``scrapy.exporters



 类似资料:
  • 这里是蜘蛛: 以下是项目: 使用以下命令运行spider时:

  • 我正在尝试运行我的scrapy spider,它不会返回错误,但会输出一个空的csv文件 我正在通过命令行scrapy crawl AnimeReviews-o AnimeReviews.csv-t csv启动蜘蛛 这是我用过的图书馆 这是我的蜘蛛 这是爬行后的原木 如果你需要更多的信息,请告诉我。

  • 在生成的csv输出文件中,每行scrapy输出之间都有不需要的空行。 我已经从python2迁移到Python3,我使用的是Windows10。因此,我正在为python3调整我的scrapy项目。 我目前(也是目前唯一)的问题是,当我将scrapy输出写入CSV文件时,每行之间会有一行空行。这已经在这里的几个帖子中强调了(它与视窗有关),但我无法找到一个工作的解决方案。 碰巧,我还在piplin

  • 假设我有一个简单的管道分隔文件,缺少值: 我把它读到了一个数据目录中: 缺少的第三列不是null值,而是字符串null:

  • 如何在JMeter中将一个csv文件循环到另一个csv文件,其中第一个csv文件包含所有登录数据,另一个csv文件包含交易数据。我应该运行1个出纳员应该处理30笔交易的地方。

  • 假设是Spark中的一个数据文件。将写入单个CSV文件的方法是 任何帮助都很感激。

  • 我使用papa parse读取远程托管的csv文件。问题是头行不在文件的第一行,而是文件以几行空行开始,然后是头行,然后是所有数据。我正在努力让papa parse忽略文件开头的空行。有什么我遗漏的吗?我希望避免加载整个文件(只需要6000多行中的前几行)。

  • null 因此,我希望有条件地映射CSV文件的所有行,并将结果导出到另一个CSV文件中,每行的条件如下: > 如果第4列的值不为null,那么该行第4、5、6和7列的值应存储为名为LastValueSof4to7的数组。(在数据集中,如果第4列中的元素不为null,则第1、2和3列为null,可以忽略) 如果第3列的值不为null,那么第1、2和3列的值以及上述lastValuesOf4to7数组