爬取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文件的扩 ...
随机推荐
- [Extjs] Ext4 Ext.grid.Panel 分页实现(mybatis 分页插件-PageHelper 使用)
先看图: 页面js代码: var userStore=Ext.create('Ext.data.Store', { storeId:'userStore', fields:['uname', 'ema ...
- elastic-job(lite)使用的一些注意事项
前段时间项目开发中用到了当当开源的elastic-job,使用过程遇到一些问题,虽然不见得会影响写代码,但作为一个致力于搬好每一块砖的码农,当碰到问题时,我们不应该逃避,应该本着有困难也要上,没有困难 ...
- 异常处理----使用 try…catch…finally 处理异常
使用 try…catch…finally 处理异常 异常处理是通过try-catch-finally语句实现的. try { ...... //可能产生异常的代码 } catch( Exception ...
- python2.0_s12_day14_jQuery详解
jquery的中文介绍文档:http://www.php100.com/manual/jquery/jQuery之基本选择器jQuery中提供的用于获取标签的方法都有哪些? jQuery提供的 &qu ...
- 如何才能知道外线是FSK还是DTMF制式?
在直线上接上来电显示话机,然后用手机或其他电话拨接电话的外线号码. 1.如果是先振铃后来显,就是FSK制式. 2.如果先送来显,再振铃或来显和振铃同时响应,就是DTMF制式 交换机默认配置是FSK制式 ...
- [转载]会引起全表扫描的几种SQL
查询语句的时候尽量避免全表扫描,使用全扫描,索引扫描!会引起全表扫描的几种SQL如下 1.模糊查询效率很低: 原因:like本身效率就比较低,应该尽量避免查询条件使用like:对于like ‘%... ...
- linux系统UDP的socket通信编程2
UDP套接字编程范例: server端代码如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 2 ...
- 基于Cocos2d-x学习OpenGL ES 2.0系列——OpenGL ES渲染之Shader准备(7)
Cocos2d-x底层图形绘制是使用OpenGL ES协议的.OpenGL ES是什么呢? OpenGL ES(OpenGl for Embedded System)是OpenGL三维图形API的子集 ...
- 一次Win10安装体验
我下载的是win10 Build 14279版本.http://www.iwin10.com/xiazai/1071.html 下载之后就直接拷到U盘安装了. 安装完之后发现(因为我是分区成了两个)我 ...
- 当新增页面和编辑页面使用同一jsp时
<c:if test="${type eq '1'}"><title>新增页面</title></c:if> <c:if te ...