我已经写了下面的代码来从网站中取消数据。Scrapy json响应转换utf-8编码
import scrapy
from porua_scrapper.items import Category
from porua_scrapper.config import SITE_URL
class CategoriesSpider(scrapy.Spider):
name = "categories"
start_urls = []
for I in range(2):
url = SITE_URL + "book/categories?page=" + str(I+1)
start_urls.append(url)
print(start_urls)
def parse(self, response):
# print(response.css('ul.categoryList li div.pFIrstCatCaroItem a').extract_first())
for category in response.css('ul.categoryList li'):
categoryObj = Category()
categoryObj['name'] = category.css('div.bookSubjectCaption h2::text').extract_first()
categoryObj['url'] = category.css('a::attr(href)').extract_first()
yield categoryObj
当我运行命令scrapy crawl categories -o categories.json
它会创建一个categories.json文件,其中包含所需的输出格式。但问题是我的一些内容包含bengali
文字。因此,在生成的输出文件,我得到了响应,如:
{"url": "/book/category/271/\u09a8\u09be\u099f\u0995", "name": "\u09a8\u09be\u099f\u0995"}
我怎么在utf-8
内容编码?因为我是scrapy新手我没有设法根据我的方案找到合适的解决方案。
在此先感谢!