资源简介
这是2016至2018年最好中国大学的排名,以及利用Python爬虫代码实现对数据的爬取。
代码片段和文件信息
‘‘‘Mar12018 Author:Zhiying Zhou
这是爬取最好大学网近三年的中国最好大学的排名。‘‘‘
import requests
from bs4 import BeautifulSoup
from requests.exceptions import RequestException
import time
from multiprocessing import Pool
headers = {“User-Agent“:“Mozilla/5.0“}
# 通过url获取网页
def get_html_page(url):
try:
r = requests.get(url headers=headers)
r.raise_for_status()
r.encoding = ‘utf-8‘
return r.text
except RequestException:
print(“爬取失败!“)
# 解析网页并保存数据
def parse_HTML_page(html):
soup = BeautifulSoup(html ‘html5lib‘)
for tr_tags in soup.tbody.find_all(‘tr‘):
items = []
for td_tag in tr_tags.find_all(‘td‘):
items.append(td_tag.string)
with open(“D:\\zuihaodaxue.txt“ ‘a‘) as f:
f.write(“{:<4}{:^12}{:^14}{:^18}{:^24}\n“.format(items[0].strip() items[1].strip() items[2].strip()
items[3].strip() items[4].strip()))
f.close()
def main(y):
url = “http://www.zuihaodaxue.cn/zuihaodaxuepaiming“ + str(y) + “.html“
html = get_html_page(url)
parse_HTML_page(html)
if __name__ == ‘__main__‘:
time.clock()
print(“------开始获取数据------“)
with open(“D:\\zuihaodaxue.txt“ ‘a‘) as f:
f.write(“软科中国最好大学排名(2016-2018)\n{:<4}{:^12}{:^14}{:^18}{:^24}\n“.format(‘排名‘ ‘学校名称‘ ‘省市‘
‘总分‘ ‘指标得分‘))
f.close()
p = Pool()
p.map(main [2016 2017 2018])
print(“-------数据保存成功!------“)
print(“程序运行时间为{}“.format(time.clock()))
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-04-22 00:38 最好大学排名\
文件 1726 2018-04-22 00:36 最好大学排名\zuihaodaxue.py
文件 115873 2018-04-22 00:36 最好大学排名\zuihaodaxue.txt
评论
共有 条评论