爬取51job职位信息之编码问题
兴趣来潮,爬了下51job,但是遇到编码问题!以下是简单的一段代码
获取整个页面数据
# -*- 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 requests
import 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 : '不限'
} ,
爬取51job职位信息之编码问题的更多相关文章
- 【图文详解】scrapy爬虫与动态页面——爬取拉勾网职位信息(2)
上次挖了一个坑,今天终于填上了,还记得之前我们做的拉勾爬虫吗?那时我们实现了一页的爬取,今天让我们再接再厉,实现多页爬取,顺便实现职位和公司的关键词搜索功能. 之前的内容就不再介绍了,不熟悉的请一定要 ...
- python网络爬虫之解析网页的XPath(爬取Path职位信息)[三]
目录 前言 XPath的使用方法 XPath爬取数据 后言 @(目录) 前言 本章同样是解析网页,不过使用的解析技术为XPath. 相对于之前的BeautifulSoup,我感觉还行,也是一个比较常用 ...
- node.js爬虫爬取拉勾网职位信息
简介 用node.js写了一个简单的小爬虫,用来爬取拉勾网上的招聘信息,共爬取了北京.上海.广州.深圳.杭州.西安.成都7个城市的数据,分别以前端.PHP.java.c++.python.Androi ...
- 基于selenium爬取拉勾网职位信息
1.selenium Selenium 本是一个用于Web应用程序测试的工具.Selenium测试直接运行在浏览器中,就像真正的用户在操作一样.而这一特性为爬虫开发提供了一个选择及方向,由于其本身依赖 ...
- python爬虫(三) 用request爬取拉勾网职位信息
request.Request类 如果想要在请求的时候添加一个请求头(增加请求头的原因是,如果不加请求头,那么在我们爬取得时候,可能会被限制),那么就必须使用request.Request类来实现,比 ...
- python爬取拉勾网职位信息-python相关职位
import requestsimport mathimport pandas as pdimport timefrom lxml import etree url = 'https://www.la ...
- 【实战】用request爬取拉勾网职位信息
from urllib import request import urllib import ssl import json url = 'https://www.lagou.com/jobs/po ...
- Python的scrapy之爬取51job网站的职位
今天老师讲解了Python中的爬虫框架--scrapy,然后带领我们做了一个小爬虫--爬取51job网的职位信息,并且保存到数据库中 用的是Python3.6 pycharm编辑器 爬虫主体: im ...
- 爬取拉勾网招聘信息并使用xlwt存入Excel
xlwt 1.3.0 xlwt 文档 xlrd 1.1.0 python操作excel之xlrd 1.Python模块介绍 - xlwt ,什么是xlwt? Python语言中,写入Excel文件的扩 ...
随机推荐
- m2014-architecture-webserver->百万记录级mysql数据库及Discuz!论坛优化
作者:shunz,出处:http://shunz.net/2008/06/mysql_discuz_.html 最近,帮一个朋友优化一个拥有20万主题,100万帖子,3万多会员,平均在线人数2000人 ...
- CentOS6.4环境下布署LVS+keepalived笔记
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://400053.blog.51cto.com/390053/713566 环境: 1 ...
- NUC970 U-Boot 使用說明
U-Boot 使用說明U-Boot 是一個主要用於嵌入式系統的開機載入程式, 可以支援多種不同的計算機系統結構, 包括ARM.MIPS.x86與 68K. 這也是一套在GNU通用公共許可證之下發布的自 ...
- 【Android N 7】使用量统计usagestats
Android N 7.1.1 高通 1. /data/system/usagestats/0 2. 每天使用量统计 /data/system/usagestats/0/daily 查看数值: cat ...
- Array.prototype.forEach数组遍历
forEach是Array新方法中最基本的一个,就是遍历,循环.先看以前是怎么遍历数组的 常用遍历 var arr = [1,2,3,4,5]; for(var i = 0; i < arr.l ...
- 二、微信小游戏开发 多线程Worker
微信多线程Worker教程 微信多线程Worker API 一.创建Worker,并和当前线程通讯 多线程worker只能创建1个.能和当前线程互传数据. 创建worker 在微信开发者工具中,在当前 ...
- 以前做的H5推广小游戏(活动及派发奖品形式)
润百颜 1 微信授权登录,获取用户openid.一个openid一次抽奖机会,该openid用户多次玩游戏抽奖,仍然是相同的优惠码. 2 游戏结束抽奖,100%中奖,获得优惠码.优惠码和openid保 ...
- Linux系统修改编码(转)
Windows的默认编码为GBK,Linux的默认编码为UTF-8.在Windows下编辑的中文,在Linux下显示为乱码.为了解决此问题,修改Linux的默认编码为GBK.方法如下: 方法1: vi ...
- 2-sat+二分搜索hdu(3622)
hdu3622 Bomb Game Time Limit: 10000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ...
- 170804、使用Joda-Time优雅的处理日期时间
简介 在Java中处理日期和时间是很常见的需求,基础的工具类就是我们熟悉的Date和Calendar,然而这些工具类的api使用并不是很方便和强大,于是就诞生了Joda-Time这个专门处理日期时间的 ...