簡體   English   中英

Scrapy在每隔一行的csv文件中打印數據

[英]Scrapy prints data in a csv file in every other row

我已經在python scrapy中編寫了一個腳本,以分析Yellowpage中的某些項目。 當我執行腳本時,它確實可以完美解析所有項目。 但是,每當將相應的抓取數據寫入csv文件時,我都會遇到問題,這是當我打開填充了數據的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文件中填充數據的局部圖片:

在此處輸入圖片說明

一切似乎都還好,只是用來顯示csv的任何軟件都被Windows換行符弄糊塗了。

通常,換行符為\\n而在Windows上為\\n\\r Scrapy對操作系統的了解會添加Windows換行符,而不是通用換行符。 您的csv程序需要通用換行符,但會獲得Windows換行符。

此處最簡單的解決方法是手動從文件中刪除\\r字符。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM