#037学习Python爬虫爬取博客园作业

  1. 爬取作业提交信息
  2. 需要爬取的内容
  3. 爬取过程
    1. 第一步找html源码
    2. 第二步找json文件
    3. 第三步直接开爬
  4. json解析
    1. 目前先学习到这里留到下节课,继续学习
    2. 在这里应该感谢下,马孟林老学长,能直接从他的博客里,找到课堂配套的博客

今日学习内容(只列出关键词)

python函数

  1. 传参调用
  2. 实参,形参
  3. 元组
  4. 打包拆包 ....

python文件使用

  • 大象装进冰箱分三步

    1. open()
    2. write()
    3. close()
  • 复习爬虫

  • json文件存储数据

爬取作业提交信息

引用信息
Python语言程序设计2018秋学期助教马孟林同学的博客

需要爬取的内容

作业连接

爬取过程

第一步找html源码

爬取之后我们发现html中没有任何需要的信息

通过老师课堂上的讲解数据可能放置在json文件中

JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。它基于 ECMAScript
(欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON
成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。

 


孟林马学长是这么找出来的

 

第二步找json文件

F12打开火狐或者谷歌的调试工具
找到network的XHR重新刷新就能找到请求的json文件

有三个文件,一般藏在最大的文件里实在不行一个一个试试也可以
找到请求头就知道数据存放文件地址了

直接访问该地址就能拿到数据信息了

知道文件在哪里了按照前几节课所讲解的爬取html的方法即可爬到数据并保存在本地文件中

第三步直接开爬

代码如下不做过多解释

import requests
url = 'https://edu.cnblogs.com/Homework/GetAnswers?homeworkId=3103&_=1557235742010'
try:
    r = requests.get(url,timeout=20)
    r.raise_for_status()
    r.encoding = r.apparent_encoding
except:
    print('网络异常或页面未找到,请重试')
f=open('homework.txt','w')
f.write(r.text)
f.close()

 


效果如下

 

json解析

目前先学习到这里留到下节课,继续学习

在这里应该感谢下,马孟林老学长,能直接从他的博客里,找到课堂配套的博客