2017-08-04 109 views
0

我已经在python scrapy中编写了一个脚本来解析yellowpage中的一些项目。当我执行我的脚本时,它确实解析所有项目。然而,我遇到问题,无论何时写入这些被刮取的数据相应地在一个csv文件中,当我打开csv文件并填充数据时,我发现数据已经打印在其他行中。我怎样才能摆脱空白行?我正在粘贴脚本信息以供您考虑。Scrapy在每隔一行打印一个csv文件中的数据

“items.py” 包括:

from scrapy.item import Item, Field 
class RealypItem(Item): 
    Name = Field() 
    Address = Field() 
    Phone = Field() 

“yp.py” 又名蜘蛛包含:

from scrapy.spider import BaseSpider 

class MySpider(BaseSpider): 
    name = "YellowPage" 
    allowed_domains = ["yellowpages.com"] 
    start_urls = ["https://www.yellowpages.com/search?search_terms=Coffee%20Shops&geo_location_terms=Los%20Angeles%2C%20CA&page=2"] 

    def parse(self, response): 
     page = response.xpath('//div[@class="info"]') 
     for titles in page: 
      Title = titles.xpath('.//span[@itemprop="name"]/text()').extract() 
      Adr = titles.xpath('.//span[@itemprop="streetAddress" and @class="street-address"]/text()').extract() 
      Tel = titles.xpath('.//div[@itemprop="telephone" and @class="phones phone primary"]/text()').extract() 
      yield{'Name':Title,'Address':Adr,'Phone':Tel} 

命令我使用运行该脚本:

scrapy crawl YellowPage -o items.csv -t csv 

以下是csv文件中填充数据的部分图片:

enter image description here

+0

你能发布实际文件内容而不是截图吗?也许你的软件只是误解了csv? – Granitosaurus

+0

感谢您的评论。稍后会附上该文件的链接。 – SIM

+0

这里是该csv文件的链接:“https://www.dropbox.com/s/xt49h3p3hx7sn7l/items.csv?dl=0” – SIM

回答

0

一切似乎都没问题,只是无论你用什么软件来显示你的csv都会被你的windows换行符所困惑。

一般新行字符是\n,而在窗口它是\n\r。 Scrapy是知道广告窗口换行,而不是通用的。您的csv程序需要通用换行符,而不是窗口。

这里最简单的修复方法就是手动从文件中删除\r字符。

+0

由于我不在身边,我很抱歉发表评论。您的解决方案似乎也非常简单而有趣。但是,您能否告诉我可以在哪里跟踪这个错误以解决问题,我的意思是我可以在哪里找到它?谢谢。 – SIM

+0

我不认为这是一个错误。 CSV不是真正的可视化文档格式,它实际上就是逗号分隔的值,每行一个值。所以你应该看看配置你的可视化程序来将windows换行符解释为正常换行符。 – Granitosaurus

+0

这是一个Windows问题。我正在与atm斗争 – 2017-12-02 06:06:14

相关问题