python爬虫爬网络数据_python 爬虫爬取网络

羊车门作业已发布,很快就会有同学提交作业,在此作业基础上,我们发布本网络爬虫作业。

本作业共分两部分,第一部分必做,第二部分选作。

第一部分

请分析作业页面,爬取已提交作业信息,并生成已提交作业名单,保存为英文逗号分隔的csv文件。文件名为:hwlist.csv 。

文件内容范例如下形式:

学号,姓名,作业标题,作业提交时间,作业URL

*注1:如制作定期爬去作业爬虫,请注意爬取频次不易太过密集;

*注2:本部分作业用到部分库如下所示:

(1)requests —— 第3方库

(2)json    —— 内置库

第二部分:

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

首先使用开发者工具获取所需爬取的url,如图所示

d3ffab44ab4c52867c8bb9b04d041570.png

查看数据类型为json格式,看之前各位大佬的博客叫json数据类型,

用json库loads转换为dict数据格式取出每一个元素,再打开文件写入数据,

importrequestsimportjsontry:

r=requests.get('https://edu.cnblogs.com/Homework/GetAnswers?homeworkId=2420&_=1544072161608')

r.raise_for_status()

r.encoding=r.apparent_encoding

datas=json.loads(r.text)['data']except:print("网络错误")else:

crawl=''

for data indatas:

crawl+=str(data["StudentNo"])+","+data["RealName"]+","+data["DateAdded"].replace("T"," ")+","+data["Title"]+","+data["Url"]+"\n"with open ('hwlist.csv','w') as f:

f.write(crawl)

以上是源代码,下面是结果

bf99ec299e5765a5be9d50abb971c99b.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值