Đây là nhện của tôiscrapy văn bản mã hóa
from scrapy.contrib.spiders import CrawlSpider,Rule
from scrapy.contrib.linkextractors.sgml import SgmlLinkExtractor
from scrapy.selector import HtmlXPathSelector
from vrisko.items import VriskoItem
class vriskoSpider(CrawlSpider):
name = 'vrisko'
allowed_domains = ['vrisko.gr']
start_urls = ['http://www.vrisko.gr/search/%CE%B3%CE%B9%CE%B1%CF%84%CF%81%CE%BF%CF%82/%CE%BA%CE%BF%CF%81%CE%B4%CE%B5%CE%BB%CE%B9%CE%BF']
rules = (Rule(SgmlLinkExtractor(allow=('\?page=\d')),'parse_start_url',follow=True),)
def parse_start_url(self, response):
hxs = HtmlXPathSelector(response)
vriskoit = VriskoItem()
vriskoit['eponimia'] = hxs.select("//a[@itemprop='name']/text()").extract()
vriskoit['address'] = hxs.select("//div[@class='results_address_class']/text()").extract()
return vriskoit
Vấn đề của tôi là chuỗi trả về là unicode và tôi muốn để mã hóa chúng để utf-8. Tôi không biết đó là cách tốt nhất để làm điều này. Tôi đã thử nhiều cách mà không có kết quả.
Cảm ơn bạn trước!
tôi đã làm những gì bạn đã viết, nhưng tôi vẫn nhận được kết quả tương tự: các ký tự unicode. Cách duy nhất để có được utf-8, là sử dụng in vrisko ['eponimia'] thay vì thu nhập hoặc trả lại. – mindcast
@mindcast, Bạn đã tải nó ở đâu? Bạn làm gì với các mục (lưu vào nguồn cấp dữ liệu json, nguồn cấp dữ liệu csv hoặc có thể là đường dẫn tùy chỉnh)? – reclosedev
thu thập dữ liệu cặn bã vrisko -o scraped_data.json -t json hoặc thậm chí thu thập dữ liệu vrisko và xem kết quả trên màn hình của tôi. Tôi biết tôi nhớ một cái gì đó nhưng tôi không thể tìm ra nó. Cảm ơn bạn đã nỗ lực của bạn. – mindcast