|
import sys
reload(sys)
sys.setdefaultencoding("utf8")
import csv
import time
import requests
import json
from urllib import urlencode
def saveHtml(file_name,file_content):
...: with open(file_name.replace("/","_")+".html","wb") as f:
...: f.write(file_content)
def GetData(url,writer):
...: resp**e=requests.get(url)
...: data=resp**e.content
...: saveHtml("zlzp",data)
...: jsondata=json.loads(data)
...: dataList=jsondata["data"]["results"]
...: for dic in dataList:
...: jobName=dic["jobName"]
...: company=dic["company"]["name"]
...: salary=dic["salary"]
...: city=dic["city"]["display"]
...: jobtype=dic["jobType"]["display"]
...: eduLevel=dic["eduLevel"]["name"]
...: workingExp=dic["workingExp"]["name"]
...: print(jobName,company,salary,city,jobtype,eduLevel,workingExp)
...: writer.writerow([jobName,company,salary,city,jobtype,eduLevel,workingExp])
param={"start":0,"pageSize":60,"cityId":489,"workExperience":-1,"education":-1,"companyType":-1,"employmentType":-1,"jobWelfareTag":-1,"kw":"BI工程师","kt":3,"lastUrlQuery":{"p":1,"pageSize":"60","jl":"681","kw":"python","kt":"3"}}
pages=range(1,31)
out_f=open("test.csv","w")
writer=csv.writer(out_f)
writer.writerow(["jobName","company","salary","city","jobtype","eduLevel","workingExp"])
for p in pages:
....: param["start"]=(p-1)*60
....: param["lastUrlQuery"]["p"]=p
....: url="https://fe-api.zhaopin.com/c/i/sou?" + urlencode(param)
....: GetData(url,writer)
....: time.sleep(3)
....: print(p)
....: out_f.close()
此代码后面出现ValueError: I/O operation on closed file ,求解为什么,怎么解决?
|
|