初学python,爬虫开刀

拉勾网-北京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中

其中遇到的问题

  1. 编码问题 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)

猜你喜欢

转载自blog.csdn.net/wuzhiguo1314/article/details/51140162
今日推荐