我已经在python scrapy中编写了一个非常小的脚本来解析黄页网站中多个页面显示的姓名,街道和电话号码。当我运行我的脚本时,我发现它运行顺利。但是,我遇到的唯一问题是数据在csv输出中被抓取的方式。它总是两行之间的一行(行)间隙。我的意思是:数据正在每隔一行打印。看到下面的图片,你会明白我的意思。如果不是用于scrapy,我可以使用[newline ='']。但不幸的是,我在这里完全无奈。我如何摆脱csv输出中出现的空白行?预先感谢您看看它。无法摆脱csv输出中的空白行
items.py包括:
import scrapy
class YellowpageItem(scrapy.Item):
name = scrapy.Field()
street = scrapy.Field()
phone = scrapy.Field()
这里是蜘蛛:
import scrapy
class YellowpageSpider(scrapy.Spider):
name = "YellowpageSp"
start_urls = ["https://www.yellowpages.com/search?search_terms=Pizza&geo_location_terms=Los%20Angeles%2C%20CA&page={0}".format(page) for page in range(2,6)]
def parse(self, response):
for titles in response.css('div.info'):
name = titles.css('a.business-name span[itemprop=name]::text').extract_first()
street = titles.css('span.street-address::text').extract_first()
phone = titles.css('div[itemprop=telephone]::text').extract_first()
yield {'name': name, 'street': street, 'phone':phone}
这里是CSV输出看起来像:
顺便说一句,该命令我用来获取CSV输出是:
scrapy crawl YellowpageSp -o items.csv -t csv
我很快就说过了。这对我有效。我在投票答复和问题:D – 2017-12-02 18:08:39