mcm C 数据抓取

# coding:utf-8
import urllib2
import urllib
import cookielib
import sys
import json
import xlwt

# 璁剧疆 cookie  
cj = cookielib.CookieJar()  
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))  
headers = {"User-agent":"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1"}  


base_url = "https://api.data.gov/ed/collegescorecard/v1/schools/?sort=2011.earnings.6_yrs_after_entry.percent_greater_than_25000%3Adesc&page=" 

rest_url = "&school.operating=1&2013.student.size__range=0..&2013.academics.program_available.assoc_or_bachelors=true&school.degrees_awarded.predominant__range=1..3&school.degrees_awarded.highest__range=2..4&fields=id%2Cschool.name%2Cschool.city%2Cschool.state%2C2013.student.size%2Cschool.ownership%2Cschool.degrees_awarded.predominant%2C2013.cost.avg_net_price.overall%2C2013.completion.rate_suppressed.overall%2C2011.earnings.10_yrs_after_entry.median%2C2011.earnings.6_yrs_after_entry.percent_greater_than_25000%2Cschool.under_investigation&api_key=Xxf2NKtwfcXUd8K2hqawnlur6c0YY93xsNFwq0Dy"

# url = baseurl + str(3) + resturl

def  update(num1, num2):
	wb = xlwt.Workbook(encoding='utf-8')
	sheet1 = wb.add_sheet("Tables")
        sheet1.write(0, 0, u"school.name")
        sheet1.write(0, 1, u"2013.cost.avg_net_price.overall")
        sheet1.write(0, 2, u"school.ownership")
	sheet1.write(0, 3, u"2013.student.size")
	sheet1.write(0, 4, u"2011.earnings.10_yrs_after_entry.median")
	sheet1.write(0, 5, u"school.under_investigation")
	sheet1.write(0, 6, u"school.degrees_awarded.predominant")
	sheet1.write(0, 7, u"school.state")
	sheet1.write(0, 8, u"2011.earnings.6_yrs_after_entry.percent_greater_than_25000")
	sheet1.write(0, 9, u"2013.completion.rate_suppressed.overall")
	sheet1.write(0, 10, u"school.city")
	sheet1.write(0, 11, u"id")
        i = 1
	for url_i in range(num1, num2+1):
		url = base_url + "%d"%url_i + rest_url
		print str(url_i)+":downloading "+url
		request = urllib2.Request( url=url,headers = headers)  
		f = opener.open(request)  
		html = f.read()
		my_dict = json.loads(html)
		# print my_dict['results']
		# j = 0
		print str(url_i)+":got response"
		try:
			for dict_i in my_dict['results']:
				#print dict_i['school.name']
				sheet1.write(i, 0, dict_i[u"school.name"])
				sheet1.write(i, 1, dict_i[u"2013.cost.avg_net_price.overall"])
				sheet1.write(i, 2, dict_i[u"school.ownership"])
				sheet1.write(i, 3, dict_i[u"2013.student.size"])
				sheet1.write(i, 4, dict_i[u"2011.earnings.10_yrs_after_entry.median"])
				sheet1.write(i, 5, dict_i[u"school.under_investigation"])
				sheet1.write(i, 6, dict_i[u"school.degrees_awarded.predominant"])
				sheet1.write(i, 7, dict_i[u"school.state"])
				sheet1.write(i, 8, dict_i[u"2011.earnings.6_yrs_after_entry.percent_greater_than_25000"])
				sheet1.write(i, 9, dict_i[u"2013.completion.rate_suppressed.overall"])
				sheet1.write(i, 10,dict_i[ u"school.city"])
				sheet1.write(i, 11,dict_i[ u"id"])
				i += 1
			wb.save(u"school.xls")
		except:
			pass
		
	wb.save(u"school"+str(num1)+"-"+str(num2)+".xls")
update(0,212)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值