python3.5 scrapy框架 xpath匹配 写入csv文件乱码问题
rt,windows环境,python3.5原生IDLE,再用scrapy框架时,使用xpath匹配,再写入csv文件时乱码,尝试了许多方法未果,求大佬帮忙
代码
import scrapy
from mySpider.items import NewItem
##www.itcast.cn/channel/teacher.shtml#acloud
##
###<div class="li_txt">--->div[@class="li_txt"]
###./h3
###./h4
###./p
##
##teacher_list = response.xpath('//div[@class="li_txt"]')
##
##for each in teacher_list:
## each.xpath('./h3/text()')
## each.xpath('./h4/text()')
## each.xpath('./p/text()')
class NewSpider(scrapy.Spider):
#爬虫名
name = "New"
#允许爬虫作用范围
allowd_damains = ["http://www.itcast.cn/"]
#爬虫其实url
start_urls = ["http://www.itcast.cn/channel/teacher.shtml#"]
def parse(self,response):
## with open("teacher.html","wb+") as f:
## f.write(response.body)
teacher_list = response.xpath('//div[@class="li_txt"]')
teacherItem=[]
for each in teacher_list:
#实例化
item = NewItem()
#xpath匹配结果为列表 extract()将匹配出来的结果转换成字符串
name = each.xpath('./h3/text()').extract()
title = each.xpath('./h4/text()').extract()
info = each.xpath('./p/text()').extract()
## print (name[0])
## print (title[0])
## print (info[0])
item['name'] = name[0].encode("gbk")
item['title'] = title[0].encode("gbk")
item['info'] = info[0].encode("gbk")
teacherItem.append(item)
return teacherItem