这是蜘蛛:
import scrapy
from danmurphys.items import DanmurphysItem
class MySpider(scrapy.Spider):
name = 'danmurphys'
allowed_domains = ['danmurphys.com.au']
start_urls = ['https://www.danmurphys.com.au/dm/navigation/navigation_results_gallery.jsp?params=fh_location%3D%2F%2Fcatalog01%2Fen_AU%2Fcategories%3C%7Bcatalog01_2534374302084767_2534374302027742%7D%26fh_view_size%3D120%26fh_sort%3D-sales_value_30_days%26fh_modification%3D&resetnav=false&storeExclusivePage=false']
def parse(self, response):
urls = response.xpath('//h2/a/@href').extract()
for url in urls:
request = scrapy.Request(url , callback=self.parse_page)
yield request
def parse_page(self , response):
item = DanmurphysItem()
item['brand'] = response.xpath('//span[@itemprop="brand"]/text()').extract_first().strip()
item['name'] = response.xpath('//span[@itemprop="name"]/text()').extract_first().strip()
item['url'] = response.url
return item
以下是项目:
^{pr2}$当我用这个命令运行蜘蛛时:
scrapy crawl danmurphys -o output.csv
此输出显示了在windows上使用
"w"
模式打开的csv文件句柄的典型症状(可能是为了修复python3的兼容性),但是省略了newline
。在虽然这对基于Linux/Unix的系统没有影响,但是在Windows上,会发出2个回车符,在每个数据行后面插入一个假空行。在
正确的方法(python 3):
^{pr2}$(在python2中,将
"wb"
设置为开放模式可以修复它)如果文件是由您不能或不想修改的程序创建的,则始终可以按如下方式对文件进行后期处理:
Scrapy 1.5.0和Python 3.6.5::Anaconda,Inc
我通过以下步骤设法解决这个问题:
文件夹结构
在出口商.py
^{pr2}$在设置.py
我希望这对你有帮助
要在scray1.3中修复这个问题,可以通过在
scrapy.exporters
中的CsvItemExporter
类的__init__
方法中添加newline=''
作为参数来修补它。在相关问题 更多 >
编程相关推荐