第三次作业

1.注册中国大学MOOC
2.选择北京理工大学嵩天老师的《Python网络爬虫与信息提取》MOOC课程
3.学习完成第0周至第4周的课程内容,并完成各周作业
4.提供图片或网站显示的学习进度,证明学习的过程。

第三次作业_第1张图片

5.写一篇不少于1000字的学习笔记,谈一下学习的体会和收获。

    这段时间学习嵩天老师的课程--python网络爬虫与信息提取,使我对爬虫这个词有了一定的概念。所谓的爬虫就是计算机通过一段程序来获取其他网站的相关信息以及用一些特定的代码来筛选出自己需要的信息。爬取网页的信息资源可以利用老师所讲的那个通用代码框架,利用那个框架可以实现绝大多数的网页爬取。

网络爬虫同时也是一把双刃剑,在给人们带来大量的信息资源的同时也存在着一些弊端,比如网络爬虫会给web服务器代理巨大的资源开销、信息泄露、知识产权、法律风险等问题。最近听到一个新的名词“面向监狱编程”,这或许是最适合形容做爬虫这个行业的人了吧。所以在我们爬取网络上信息资源的时候,最好是遵循其网页的Robots协议,因为Robots协议是一个建议性的协议,所以只能靠我们自觉遵守这个规则。

我们可以对爬取到的信息进行标记,标记后的信息可行成信息组织结果,增加了信息的维度,可用于通信、存储或展示,同时更利于程序的理解与运用。常用的信息标记有三个种类,分别是XML、JSON、YAML。XML是最早的通用信息标记语言,可扩展性好,但是比较繁琐。JSON信息有类型,适合程序处理,比XML简洁。YAML信息没有类型,文本信息比例最高,可读性好。具体使用哪一种,就看自己的需求了。

在爬取大学排名的这个案例中,具体的步骤分为三部。一、从网络上获取大学排名的网页内容。二、提取网页内容中信息到合适的数据结构。三、利用数据结构展示并输出结果。我们可以用一些方法对输出结果进行优化,比如中英文对其的问题,使输出结果更加美观、合理化。

正则表达式是用来简洁表达一组字符串的表达式、一种通用的字符串表达框架。它最大的特点就是简洁,一行胜千行,一行就是特征。正则表达式在文本处理中十分常用,在表达文本类型的特征,同时查找或者替换一组字符串,匹配字符串的全部或部分等等,通常都是使用正则表达式进行处理。

第四周的课程介绍了Scrapy爬虫框架,首先Scrapy不是一个函数功能库,它是一个爬虫框架,是实现爬虫功能的一个软件结构与功能组件的集合,能够帮助用户实现专业网络爬虫。Scrapy采用命令行创建和爬虫运行,因为命令行更容易自动化,适合脚本控制,从本质上来看,Scrapy更适合程序员使用。Scrapy与requests都可以进行页面请求与爬取,是python爬虫的两个重要技术,两者的可用性都可以,文档丰富,入门简单。但是两者也存在着一定的区别。Requests主要负责的是页面级爬虫,Scrapy主要是网站级爬虫。Requests是一个功能库,Scrapy是一个框架等等。具体选择哪个进行爬取信息,可以看自己的需求进行选择,比如信息量小的情况下,可以选择requests库进行爬取,当信息量大的时候 可以用Scrapy进行爬取。

你可能感兴趣的:(第三次作业)