首页 > 技术文章 > 第3次作业-MOOC学习笔记:Python网络爬虫与信息提取

lixiaobin007 2019-10-31 15:09 原文

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

 

 


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

 

       在这几天之内断断续续的学习了《Python网络爬虫与信息提取》,自己慢慢了解到原来通过python爬取数据是这样操作的。

不得不说,python是一门在获取和处理数据方面方便快捷的语言。

       第一个模块首先是介绍了request库的学习,request库的7个主要方法需要去我们学习,掌握。这七方法分别是:request、get、head、post、

put、patch、delete。我用了get方法获取到百度首页的信息,然后我们获取到的资源都是有编码的,我们需要将编码方式改为:utf-8,就可以把

编码转换为我们可以理解的形式。嵩天老师还介绍了爬取网页的的通用代码框架,在使用get方法获得网页的时候,可能会出现诸如一下的异常:

(1) requests. Connectionerror网络连错误异常,如DNS查询失败、拒绝连接等;(2) requestsHTTPERROR:HTTP错误异常(3) requests. URL Required:

URL缺失异常;(4) requests. Toomanyredirects:超过最大重定向次数,产生重定向异常;(5) requests. Connecttimeout:连远程服务器超时异常

(6) requests.Timeout:请求URL超时,产生超时异常。网络连接很重要,异常处理很重要,所以需要一个框架来处理可能出现的异常。最后嵩天老师

强调了:网络爬虫会引发很多问题,互联网设计了Robots协议,所有的网络爬虫都应该遵守Robots协议。

       第二个模块讲解了Beautiful Soup。Beautiful Soup库是解析、遍历、维护“标签树的功能”。Beautiful Soup有4个解析器:(1)bs4的HTML解析器;

(2)lxml的HTML解析器;(3)lxml的XML解析器; (4)htmllib解析器。5个基本元素:Tag,Name,Attributes,NavigableString,Comment。3种遍历方式:

上行遍历,下行遍历,平行遍历。bs4库还有三种信心标记的方法:XML:标签:<name>…</name>  JSON: 键值对:“key”:“value”YAMAL等。

       第三个模块是实战,首先讲解了Re库正则表达式的入门,正则表达式是用来简洁表达一组字符串的表达式。如^[A-Za-z]+$: 由26个字母组成的字符串。

正则表达式在文本处理中十分常用:表达文本类型的特征(病毒、入侵等)、同时查找或替换一-组字符串、匹配字符串的全部或部分。正则表达式的使用:

编译:将符合正则表达式的语法的字符串转换成正则表达式特征。其次讲解了Match对象:这个对象是一次匹配的结果,包含了很多匹配的信息。有4个属性,

4个对应方法。

      淘宝商品比定向爬虫。根据前面所学到的知识,看一下淘宝搜索页面的Robots协议,它不允许爬虫爬取信息。然而我们可以有限制的使用爬虫爬取淘宝商品页信息。

这个实例:采用了requests-re路线实现了淘宝商品比价定向爬虫,同时套熟练掌握正则表达式在信息提取方面的应用。

       第四个模块讲解了Scrapy的爬虫框架结构, 爬虫框架是实现爬虫功能的一个软件结构和功能组件集合,同时爬虫框架是一个半成品, 能够帮助用户实现专业

网络爬虫。在和request库相比中,如果是非常小的需求,则使用request库。不太小的需求则用Scrapy库。而且Scrapy库并发性好,性能较高。

推荐阅读