Я написал следующий код, чтобы отменить данные с сайта.Scrapy json response convert in utf-8 encode
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 Мне не удалось найти подходящее решение, основанное на моем сценарии.
Заранее благодарен!