网络爬虫

第一部分:

 
请分析作业页面,爬取已提交作业信息,并生成已提交作业名单,保存为英文逗号分隔的csv文件。文件名为:hwlist.csv 。
 
文件内容范例如下形式:
 
学号,姓名,作业标题,作业提交时间,作业URL
20194010101,张三,羊车门作业,2018-11-13 23:47:36.8,http://www.cnblogs.com/sninius/p/12345678.html
20194010102,李四,羊车门,2018-11-14 9:38:27.03,http://www.cnblogs.com/sninius/p/87654321.html
 
*注1:如制作定期爬去作业爬虫,请注意爬取频次不易太过密集;
*注2:本部分作业用到部分库如下所示:
(1)requests —— 第3方库
(2)json    —— 内置库
 
import requests
import json
#r=requests.get('https://edu.cnblogs.com/Homework/GetAnswers?homeworkId=2420&_=1543917459376')
url='https://edu.cnblogs.com/Homework/GetAnswers?homeworkId=2420&_=1543917459376'
try:
    r=requests.get(url,timeout=30)
    r.raise_for_status()
    r.encoding='utf-8'
except:
    print("网页异常")
data=json.loads(r.text)['data']
result=""
for da in data:
    result+=str(da['StudentNo'])+','+da['RealName']+','+da['Title']+','+da['DateAdded'].replace('T',' ')+','+da['BlogUrl']+'\n'
with open ('hwlist.csv','w') as f:
    f.write(result)

这是第一部分,结果如下:

 

我将其中的T换过来了,但是只有用鼠标点过后才显示,不然知显示后几位,不知为何。。。

posted @ 2018-12-04 18:45  左卡右  阅读(116)  评论(0)    收藏  举报