博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
爬取51job职位信息之编码问题
阅读量:5097 次
发布时间:2019-06-13

本文共 1598 字,大约阅读时间需要 5 分钟。

获取整个页面数据

# -*- coding:utf-8 -*-
import requests
import sys reload(sys) sys.setdefaultencoding('utf-8')
def spider(url):    session = requests.Session()     html = session.get(url, headers=headers)    return html url = 'http://www.51job.com/' html = spider(url)

结果:

print html.encoding>>>ISO-8859-1

html.text中的某一段

print html.text>>>langs : {      ts_qxjzw : 'ÇëÑ¡Ôñְλ' , queren : 'È·ÈÏ' , guanbi : '¹Ø±Õ' , yxdd : 'ÒÑÑ¡µØµã' , yxzn : 'ÒÑÑ¡Ö°ÄÜ' , yxhy : 'ÒÑÑ¡ÐÐÒµ' , nzdnxj : 'Äú×î¶àÄÜÑ¡Ôñ' , xiang : 'Ïî' , xjdq : 'Ñ¡ÔñµØÇø' , xj_xg : 'Ñ¡Ôñ/ÐÞ¸Ä' , zycs : 'Ö÷Òª³ÇÊÐ' , sysf : 'ËùÓÐÊ¡·Ý' , tspd : 'ÌØÊâƵµÀ', qxjgzdd : 'ÇëÑ¡Ôñ¹¤×÷µØµã' , qxjznlb : 'ÇëÑ¡ÔñÖ°ÄÜÀà±ð' , qxjhylb : 'ÇëÑ¡ÔñÐÐÒµÀà±ð' , gzdd : '¹¤×÷µØµã' , buxian : '²»ÏÞ' } ,

我设置html.text.decode('ISO-8859-1'),报错!UnicodeEncodeError: 'ascii' codec can't encode characters in position 249-254: ordinal not in range(128)

翻阅了些资料,最终添加了 html.encoding = 'gbk',搞定!

代码:

# -*- coding:utf-8 -*-import requestsimport sys reload(sys) sys.setdefaultencoding('utf-8') def spider(url): session = requests.Session() html = session.get(url, headers=headers) html.encoding = 'gbk' return html url = 'http://www.51job.com/' html = spider(url)

展示html中的一段

print html.text>>>langs : {      ts_qxjzw : '请选择职位' , queren : '确认' , guanbi : '关闭' , yxdd : '已选地点' , yxzn : '已选职能' , yxhy : '已选行业' , nzdnxj : '您最多能选择' , xiang : '项' , xjdq : '选择地区' , xj_xg : '选择/修改' , zycs : '主要城市' , sysf : '所有省份' , tspd : '特殊频道', qxjgzdd : '请选择工作地点' , qxjznlb : '请选择职能类别' , qxjhylb : '请选择行业类别' , gzdd : '工作地点' , buxian : '不限' } ,

转载于:https://www.cnblogs.com/qinyingyuan/p/6807136.html

你可能感兴趣的文章
MySQL(一)- 数据库引擎
查看>>
Dubbo
查看>>
MySQL(二)- 索引
查看>>
线程池(一)
查看>>
MySQL(三)- sql优化
查看>>
Redis入门指南(一)
查看>>
Redis入门指南(二)
查看>>
Redis入门指南(三)
查看>>
zookeeper
查看>>
LinkedList源码分析
查看>>
集合比较
查看>>
HashMap源码分析
查看>>
同步容器
查看>>
ConcurrentHashMap
查看>>
同步-synchronize、volatile、原子类型
查看>>
锁的种类
查看>>
ThreadPoolExecutor 源码分析
查看>>
消息队列
查看>>
并发包中的类
查看>>
并发包中的类(二)
查看>>