Scrapy-笔记二 中文处理以及保存中文数据

2019-11-27 23:32:58 浏览数 (1)

学习自:http://blog.csdn.net/u012150179/article/details/34450547

输出中文:

首先是使用scrapy shell url 来尝试某个中文页面中获取到一个中文字符串

代码语言:javascript复制
scrapy shell http://blog.csdn.net/u012150179/article/details/34450547

这个url链接进行元素审查,观察发现,h4下的text部分是中文的.编写sel.xpath

代码语言:javascript复制
sel.xpath('//h4/text()').extract()

获取到了

代码语言:javascript复制
In [1]: sel.xpath('//h4/text()').extract()
shell:1: ScrapyDeprecationWarning: "sel" shortcut is deprecated. Use "response.xpath()", "response.css()" or "response.selector" instead
Out[1]: 
[u'u63d0u53d6u7f51u9875u4e2du4e2du6587u5e76u8f93u51fau6216u8005u662fu4fddu5b58u65f6u7ecfu5e38u4f1au51fau73b0u4e00u4e2au95eeu9898u662fu663eu793au7684u662fu4e2du6587u5bf9u5e94u7684unicodeu7f16u7801u800cu975eu4e2du6587u672cu8eabuff0cu8fd9u91ccu8bb2u8ff0u89e3u51b3u8fd9u79cdu95eeu9898u7684u65b9u6cd5u3002',
 u'u6211u7684u540cu7c7bu6587u7ae0',
 u'u6b64u535au5ba2u5df2u4e0du518du66f4u65b0uff0cu65b0u535au5ba2u5730u5740uff1arn',
 u'GitHubu4e3bu9875uff1arn']

观察是一个列表.将sel部分结果赋值给temp

代码语言:javascript复制
temp = sel.xpath('//h4/text()').extract()

然后for输出中文

代码语言:javascript复制
for i in temp[0]:
    print i.encode('utf-8'),

encode()只针对str数据结构,如果不是,可以先转换为str。上面由于得到的title为list类型,所以转换如上。

中文存储

主要代码不长在项目w3c抓取中.可以参考:

https://www.urlteam.cn/2016/06/scrapy-入门项目-爬虫抓取w3c网站/

代码语言:javascript复制
 11 class W3SchoolPipeline(object):
 12     def __init__(self):
 13         #初始化打开json记录文件数据
 14         #定义编码为utf-8
 15         self.file = codecs.open('w3school_data_utf8.json', 'wb', encoding='utf-8')

这部分设定中文的编码方式

代码语言:javascript复制
def process_item(self, item, spider):
 18         line = json.dumps(dict(item))   'n'
 19         # print line  
 20 
 21         self.file.write(line.decode("unicode_escape"))
 22         return item
 23         #返回类型必须要是item类型

这部分设定unicode_escape的写入方式

“反编码”,别在意名字,随便起的,大意是一串字符,是unicode码,如:‘u53ebu6211’,进行反编码后得到其对应的汉字。

  1. f=‘u53ebu6211’
  2. print f
  3. print(f.decode(‘unicode-escape’))

结果为:

u53ebu6211 叫我

原创文章,转载请注明: 转载自URl-team

本文链接地址: Scrapy-笔记二 中文处理以及保存中文数据

Related posts:

  1. Scrapy-笔记一 入门项目 爬虫抓取w3c网站
  2. Scrapy笔记三 自动多网页爬取-本wordpress博客所有文章
  3. Scrapy笔记四 自动爬取网页之使用CrawlSpider
  4. Scrapy笔记五 爬取妹子图网的图片 详细解析
  5. Scrapy笔记零 环境搭建与五大组件架构
  6. 基于百度IP定位的网站访问来源分析的python实战项目–实践笔记一–ip与经纬信息采集

0 人点赞