拉勾网-北京python薪水数据
#-*- coding:utf-8 -*-
import urllib
import json
import csv
import codecs
csvfile = file('pythonSalary.csv', 'wb')
csvfile.write(codecs.BOM_UTF8)
writer = csv.writer(csvfile)
for i in range(1,100):
response = urllib.urlopen("http://www.lagou.com/jobs/positionAjax.json?city=%E5%85%A8%E5%9B%BD&kd=python&pn="+str(i))
html = response.read()
decoded = json.loads(html)
result = decoded["content"]["result"]
htmlDumps = json.dumps(result, sort_keys=True)
resultDump = json.loads(htmlDumps)
if i==1:
writer.writerow(resultDump[0].keys())
for j in range(0,len(resultDump)):
writer.writerow(resultDump[j].values())
csvfile.close()
数据暂时保存到csv中
其中遇到的问题
- 编码问题 UnicodeEncodeError: ‘ascii’ codec can’t encode character u’\u6211’ 。解决方法为:在python安装目录下的lib\site-packages文件夹下新建一个sitecustomize.py,文件中的代码为:
import sys
sys.setdefaultencoding('utf-8')
2 文件写入后乱码问题
解决方法如下csvfile.write(codecs.BOM_UTF8)