通过scrapy框架编写的爬虫很容易进行格式转换,本节将利用爬虫将CSV格式的文件转换为JSON格式的文件。转换的基本原理是将CSV格式的文件作为数据源来读取,然后在parse方法中将CSV文件中的数据通过Item转换为指定的格式,如JSON格式。
本例会使用BookSpider爬虫从京东商城下载图书信息,并保存为CSV文件格式,然后使用ToJSONSpider爬虫将CSV格式的文件转换为JSON格式的文件。
下面先编写一个名为BookSpider的爬虫,用于从京东商城抓取图书信息(ISBN、出版社、图书名称和产品ID),并将这些信息保存在books.csv文件中。
- import scrapy
- from myscrapy.items import NewBookItem
- from scrapy.conf import settings
- import re
- class BookSpider(scrapy.Spider):
- name = 'BookSpider'
- # 设置并发请求为100,也就是说,最多同时可以有100个线程抓取页面
- settings.set('CONCURRENT_REQUESTS',100)
- # 向服务端(京东商城)发送包含图书信息的页面的请求,处理该页面返回信息的