第3次作业-MOOC学习笔记:Python网络爬虫与信息提取

老子叫甜甜 提交于 2019-12-03 01:55:27

1.注册中国大学MOOC

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

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

首先谈下这门课程都讲了些什么:

一、Requests库:自动爬取HTML页面与自动网络请求提交。

简述了如何安装Requests库,以及Requests库的7个主要方法:request、get、head、post、put、patch、delete的使用,Requests库的2个重要对象:Request、Response,Response对象包含爬虫返回的内容的了解及使用。

二、robots.txt:网络爬虫排除标准

对robots.txt网络爬虫规范进行了了解,最主要的是 Robots协议,它的作用是:网站告知网络爬虫哪些页面可以抓取,哪些不行。形式是在网站根目录下的robots.txt文件,以及Robots协议的使用。(PS:类人行为下,可以酌情不参考robots协议)制作网络爬虫需要了解的规范。

三、BeautifulSoup库:解析HTML页面

BeautifulSoup库的安装。

对BeautifulSoup进行了了解,是解析、遍历、维护“标签数”的功能库,对BeautifulSoup的5个基本元素(Tag、Name、Attributes,NavigableString、comment)及3种遍历功能(下行遍历、上行遍历、平行遍历)进行了了解及使用。基于bs4库的HTML格式输出,使用prettify()方法,为HTML文本<>及其内容增加”\n”并且可用于标签/方法。

XML、JSON、YAML的区别:XML可扩展性好,但繁琐;JSON适合程序处理,较XML简洁,有类型的键值对;YAML文本信息比例较高,可读 性好,无类型的键值对;对解析器的优缺点进行了了解:需要标记解析器:优点是解析 准确,缺点是提取繁琐且慢;无视标记形式:优点提取速度快,缺点准确性与信息内容 相关。

四、Re库:正则表达式详解提取页面关键信息

对Re库进行了了解,正则表达式是用来简洁表达一组字符串的表达式,正则表达式是一种通用的字符串表达框架,正则表达式的表示类型为raw string类型(原生字符串类型)

对Re库的主要功能函数(search、match、findall、split、finditer、sub)进行了了解及使用,Re库的函数式用法为一次性操作,还有一种为面向对象用法,可在编译后多次操作,通过compile生成的regex对象才能叫做正则表达式。

五、Scrapy库:网络爬虫原理介绍,专业爬虫框架介绍

Scrapy是一个快速功能强大的网络爬虫框架。和requests库比较起来,Scripy框架网站级爬虫、并发性好、性能较高、重点在于爬虫结构、一般定制灵活,深度定制困难,入门难。

我认为网络爬虫的应用范围十分的广泛,在这个信息时代,大多数人用来获取信息的手段就是,网页浏览,但是浏览网页获取信息时,总会有想筛选掉的的信息,网络爬虫可高度定制想获取的信息内容,十分方便。不仅是文本,音频,视频,基本网络上的所有资源都可以通过此种方式获取,而且搜索的精确程度、速度都远远的人类浏览行为之上,十分便利。看到这不用我多说大家也应该都知道,都可以用在什么样的用途上。(#滑稽)

从这几个单元中我学到了如何通过程序访问网站,返回网站文本,处理网站文本,获取有关信息。并了解到了如何去实现实现网络爬虫各个部分的流程的方法,受益良多。但了解还过于简单,只能制作一些小型、简单的爬虫,我会继续深入学习,不断进步,进一步去了解程序内部是如何运作,程序的流程与含义,实现更高级的功能。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!