我有以下拼字游戏代码:
from scrapy.spiders import CrawlSpider, Rule
from scrapy.linkextractors import LinkExtractor
class AliSpider(CrawlSpider):
name = "alibot"
allowed_domains = ["alibaba.com"]
start_urls = {
'http://www.alibaba.com/catalog/power-banks_cid100009648',
}
rules = (Rule(LinkExtractor(allow=('product-detail')), callback = 'parse_page', follow = True),)
def parse_page(self,response):
yield {'URL':response.url}
当我运行scrapy crawl alibot -o data.csv
时,它将URL保存在csv文件中。
我不希望两个值之间有空白行。我可以用excel删除它,但是当它是大数据时,它变得很乏味。我不希望两个值之间有空白行,因为其他抓取代码会导入此csv文件并从每个链接中提取数据。如果找到空白行,它将在此处停止,这是我不希望的。我怎么做?谢谢。
data.csv ::
URL
http://www.alibaba.com/product-detail/mini-portable-qi-wireless-phone-charging_60793204715.html?s=p
http://www.alibaba.com/product-detail/New-Portable-Power-Bank-4000mah-Slim_60445623561.html
http://www.alibaba.com/product-detail/100W-40800mah-portable-power-bank-station_60696475188.html
http://www.alibaba.com/product-detail/Portable-universal-solar-charger-solar-power_60230498369.html
http://www.alibaba.com/product-detail/HE-M19-Hand-Warmer-Power-Bank_60694294192.html
答案 0 :(得分:2)
好的,这篇文章对我有帮助:Can't get rid of blank rows in csv output。 在setting.py文件中进行这些更改。
FEED_EXPORTERS = {
'csv': 'your_project_name.exporters.FixLineCsvItemExporter',
}
在有__init__
文件的蜘蛛文件夹中添加exporters.py文件。和bam,输出文件不包含空白行。