爬取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文件的扩 ...
随机推荐
- HDOJ 4276 The Ghost Blows Light
题意 1. 给定一棵树, 树上节点有 value, 节点之间 travel 有 cost. 给定起始节点和最大 cost, 求解最大 value 思路 1. 寻找最短路径 a. 题目描述中有两句话, ...
- ArcGIS ArcPy Python处理数据
1.使用搜索游标查看行中的字段值.import arcpy # Set the workspace arcpy.env.workspace = "c:/base/data.gdb" ...
- mac 获取idea&&datagrip激活码
mac 版本的修改如下: 1). Command+Shift+G 2). /private/etc/ 3). 找到hosts文件,用文集编辑器打开 4). 输入0.0.0.0 account.jetb ...
- Lua脚本和C++交互(二)
上一节讲了一些基本的Lua应用,下面,我要强调一下,Lua的栈的一些概念,因为这个确实很重要,你会经常用到.熟练使用Lua,最重要的就是要时刻知道什么时候栈里面的数据是什么顺序,都是什么.如果你能熟练 ...
- JAXB简单样例
参考网页:http://www.mkyong.com/java/jaxb-hello-world-example/JAXB完整教程:https://jaxb.java.net/tutorial/1.J ...
- ubuntu下Eclipse创建Django项目
(注:部分过程可能需要FQ) Eclipse版本:Mars.x 点击help->Eclipse Marketplace,搜索“PyDev”并下载安装. 然后选择window->prefer ...
- oracle11g+win7没有listener服务
今天在win7上面安装oracle11g的时候,配置了listener后,lsnrctl start报错. 查看服务,也没有发现listener服务. 各位有没有遇见过这个情况啊!!!!!
- exports和module.exports区别
参考:module.exports与exports的区别.关于exports的总结 exports 和 module.exports 的区别 module.exports是真正的模块接口,而expor ...
- 【BZOJ2938】[Poi2000]病毒 AC自动机+DFS
[BZOJ2938][Poi2000]病毒 Description 二进制病毒审查委员会最近发现了如下的规律:某些确定的二进制串是病毒的代码.如果某段代码中不存在任何一段病毒代码,那么我们就称这段代码 ...
- 微信小程序 --- page.json文件
page.json 文件用于配置当前目录.page.json文件里的配置可以修改 app.json 配置里面的 window:不能覆盖app.json文件里面的 tabBar / 网络超时/ debu ...