第3次作业-MOOC学习笔记:Python网络爬虫与信息提取
1.注册中国大学MOOC
2.选择北京理工大学嵩天老师的《Python网络爬虫与信息提取》MOOC课程
3.学习完成第0周至第4周的课程内容,并完成各周作业
4.提供图片或网站显示的学习进度,证明学习的过程。
5.写一篇不少于1000字的学习笔记,谈一下学习的体会和收获。
《Python网络爬虫与信息提取》的学习笔记
我最近观看了北京理工大学嵩天老师的《Python网络爬虫与信息提取》慕课讲课。通过这段时间的学习,我对python有了更进一步的了解。以下是我学习过程中觉得比较重要的一些内容:
一、requests库的主要方法:
1、requests . request()
构造一个请求,支撑以下各方法的基础方法
2、requests.get()
获取HTML网页的主要方法,对应于HTTP的GET
3、requests.head()
获取HTML网页头信息的方法,对应于HTTP的HEAD
4、requests.post()
向HTML网页提交P0ST请求的方法,对应于HTTP的POST
5、requests. put()
向HTML网页提交PUT请求的方法,对应于HTTP的PUT
6、)requests . patch()
向HTML网页提交局部修改请求,对应于HTTP的PATCH
7、requests.delete()
向HTML网页提交刪除请求,对应于HTTP的DELETE
重点:requests库的get()方法:
url:拟获取页面的url链接
Params:url中的额外参数,字典或字节流格式,可选
**kwargs:12个控制访问的参数
二、Beautiful Soup库
1、Beautiful Soup库的理解:Beautiful Soup库是解析、遍历、维护“标签树”的功能库
2、Beautiful Soup库的引用:Beautiful Soup库,也叫beautifulsoup4 或 bs4约定引用方式主要是用BeautifulSoup类
3、Beautiful Soup库解析器:
(1)bs4的HTML解析器
(2)lxml的HTML解析器
(3)lxml的XML解析器
(4)html5liblxml的解析器
4、BeautifulSoup类的基本元素:
(1)Tag:标签,最基本的信息组织单元,分别用<>和</>标明开头和结尾标签
(2)Name:标签的名字, <>...</p>的名字是'p' ,格式: <tag> . name :
(3)Attributes:标签的属性, 字典形式组织,格式: <tag>. attrs
(4)NavigableString: 标签内非属性字符串,<..</>中字符串,格式: <tag>.string
(5)Comment: 标签内字符串的注释部分, 一种特殊的Comment类型
三、信息的标记与提取方法
1、信息的标记
(1)标记后的信息可形成信息组织结构,增加了信息维度
(2)标记的结构与信息一样具有重要价值
(3)标记后的信息可用于通信、存储或展示
(4)标记后的信息更利于程序理解和运用
2、信息标记的三种形式:
(1)XML :① 最早的通用信息标记语言,可扩展性好,但繁琐
② Internet.上的信息交互与传递
(2)JSON: ① 信息有类型,适合程序处理(js) ,较XML简洁
②移动应用云端和节点的信息通信, 无注释
(3)YAML:① 信息无类型,文本信息比例最高,可读性好
② 各类系统的配置文件,有注释易读.
3、信息提取的一般方法:
方法一:完整解析信息的标记形式,再提取关键信息
XML JSON YAML
需要标记解析器,例如: bs4库的标签树遍历
优点:信息解析准确
缺点:提取过程繁琐,速度慢
方法二:无视标记形式,直接搜索关键信息
搜索
对信息的文本查找函数即可
优点:提取过程简洁,速度较快
缺点:提取结果准确性与信息内容相关
方法三:融合方法.
融合方法:结合形式解析与搜索方法,提取关键信息
XML JSON YAML搜索
需要标记解析器及文本查找函数
嵩天老师的慕课除了给我们讲解了一些方法外,他还通过大量的案例来给我们讲述python网络爬虫与信息提取的相关知识。比如有京东商品页面的爬取,中国大学排名定向爬取,亚马逊商品页面爬取,淘宝商品比价定向爬取,百度/360搜索关键字提交等等。
以前我们也学习过python,但是是属于比较基础的课程,仅仅是向我们介绍了一些关于python的基础语法。现在,通过对慕课的学习,我对python有了更深的了解。经过此次的学习,我受益匪浅!