大学排名爬虫Python,python爬取排行榜
导入追溯
导入请求
导入xlsxwriter
从pyquery导入PyQuery作为体能商数
#初始化工作簿
def __initWorkBook():
workBook=xlsxwriter .工作簿(“QSUniversities.xlsx”)
打印([信息]:工作簿已初始化)
返回工作簿
#初始表
定义__initSheet(工作簿):
Sheet=workBook.add_worksheet()
#在表头上签名
Sheet.write(0,0, Rank )
Sheet.write(0,1,大学)
Sheet.write(0,2,"位置")
Sheet.write(0,3,"总分")
Sheet.write(0,4,学术声誉)
Sheet.write(0,5,"雇主声誉")
Sheet.write(0,6,"每位教师的引用次数")
Sheet.write(0,7,"教师学生比率")
Sheet.write(0,8,"国际学生比率")
Sheet.write(0,9,"国际教师比率")
Sheet.write(0,10,"国际研究网络")
Sheet.write(0,11, 0就业结果)
打印([信息]:纸张已初始化)
退货单
def __closeWorkBook(工作簿):
workBook.close()
打印([信息]:工作簿已关闭)
定义记录():
工作簿=__initWorkBook()
工作表=__initSheet(工作簿=工作簿)
queryList=[overall_rank_dis , uni , city location , overall , ind_76 , ind_77 , ind_73 ,
ind_36 , ind_14 , ind_18 , ind_15 , ind_3819456]
尝试:
ret=请求。得到( https://www。顶尖大学。com/sites/default/files/QS-排名-数据/en/3816281 _指标。txt?rd6 fcf’)
data=ret.json().获取(数据)
曲线=1
对于数据中的项目:
对于范围内的I(len(查询列表)):
如果i==2:
qs=queryList[2].拆分("")
city=item.get(qs[0])
location=item.get(qs[1])
如果城!=:
城市=pq(城市)。文本()
如果位置!=:
位置=pq(位置)。文本()
sheet.write(curLine,2,城市位置)
elif item.get(queryList[i])!=:
sheet.write(curLine,I,pq(item.get(queryList[i])).text())
否则:
sheet.write(curLine,I,)
打印(f [信息]: {curLine}已处理.)
曲线=曲线一
除了:
traceback.print_exc()
_ _关闭工作簿(工作簿=工作簿)
if __name__==__main__ :
记录()结果如下:
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。