python爬虫(爬取羊车门作业的作业)

代码如下

 
import requests
import json
import time
import os
from threading import Timer
def getHTML(url):
    try:
        r=requests.get(url,timeout=30)
        r.raise_for_status()
        r.encoding=r.apparent_encoding
        datas=json.loads(r.text)['data']
    except:
        print('连接失败')
    else:
        result=""
        for data in datas:
            result+=data['StudentNo']+','+data['RealName']+','+data['DateAdded']+','+data['Title']+','+data['Url']+'\n'
        f=open('F:\羊车门爬虫作业\hwlist.csv','w')
        f.write(result)
        f.close()
        os.mkdir('F:\羊车门爬虫作业\hwFolder')
        os.chdir('F:\羊车门爬虫作业\hwFolder')
        for data in datas:
            os.mkdir(data['StudentNo'])
            os.chdir(data['StudentNo'])        
            try:
                web=requests.get(data['Url'],timeout=30)
                web.raise_for_status()
                web.encoding=web.apparent_encoding                
            except:
                print('连接失败')
            else:
               f=open(data['StudentNo']+'.html','wb')
               f.write(web.content)
               f.close()
            os.chdir(os.path.pardir)
url='https://edu.cnblogs.com/Homework/GetAnswers?homeworkId=2420&_=1543216235911'

第一部分:

请分析作业页面,爬取已提交作业信息,并生成已提交作业名单,保存为英文逗号分隔的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    —— 内置库
 

第二部分:

在生成的 hwlist.csv 文件的同文件夹下,创建一个名为 hwFolder 文件夹,为每一个已提交作业的同学,新建一个以该生学号命名的文件夹,将其作业网页爬去下来,并将该网页文件存以学生学号为名,“.html”为扩展名放在该生学号文件夹中。
 

猜你喜欢

转载自www.cnblogs.com/sninius/p/10027877.html
今日推荐