我在python scrapy中编写了一个脚本,用于解析黄页中的一些项目。当我执行我的脚本时,它会完美地解析所有项目。但是,每当我在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文件中填充数据的部分图片:
答案 0 :(得分:0)
一切似乎都没问题,只是用于显示csv的软件会被你的Windows换行符弄糊涂。
通常,换行符是\n
,而在Windows上是\n\r
。知道操作系统的Scrapy会添加Windows换行符而不是通用换行符。您的csv程序需要通用换行符,而是获取Windows换行符。
此处最简单的解决方法是手动删除文件中的\r
个字符。