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

1.注册中国大学MOOCpython

2.选择北京理工大学嵩天老师的《Python网络爬虫与信息提取》MOOC课程正则表达式

3.学习完成第0周至第4周的课程内容,并完成各周做业express

 

 

4.提供图片或网站显示的学习进度,证实学习的过程。网络

 

 

5.写一篇很多于1000字的学习笔记,谈一下学习的体会和收获。框架

          经过课上老师的推荐,这几周我在中国大学慕课上学习了北京理工大学嵩天老师的《python网络爬虫与信息提取》这门网络课程,所以对有关于网络爬虫与信息提取的知识有了更进一步的认识。scrapy

     《python网络爬虫与信息提取》这门课程让咱们对网络爬虫与信息提取有了更加深刻的了解。这门课程告诉咱们:互联网是功能集合,更是存储空间;海量数据孕育巨大价值,数据采集需求迫切。网络爬虫已经成为自动获取互联网数据的主要方式。ide

     这门课程主要是讲解利用Python语言爬取网络数据并提取关键信息的技术和方法,帮助学习者掌握定向网络数据爬取和网页解析的基本能力。函数

     首先,学习了网络爬虫的规则。我知道了Requests库是爬取网页的最好的第三方库,它具备简单简洁的优势。它的安装方法是这样的,由于Anaconda中已经包含这个库了,因此若是要安装,就要使用命令:pip install requests。我还知道,Requests库的7个主要方法 :
(1)requests.request()是指构造一个请求,支撑如下各类方法的基础方法 ;
(2)requests.get()是指获取HTML网页的主要方法,对应于HTTP的GET;
(3)requests.head()是指获取HTML网页头信息的方法,对应于HTTP的HEAD ;
(4)requests.post()是指向HTML网页提交POST请求的方法,对应于HTTP的POST ;
(5)requests.put()是指向HTML网页提交PUT请求的方法,对应于HTTP的PUT ;
(6)requests.patch()是指像HTTP网页提交局部修改请求,对应于HTTP的PATCH;
(7)requests.delete()是指向HTML页面提交删除请求,对应于HTTP的DELETE。post

get()等方法只是对request()方法作了封装,是能够被request()方法替代的。还认识了,爬取网页的通用代码框架。因为网络链接有风险,因此异常处理很重要。因而就须要爬取网页的通用代码框架。学习

     其次,学习了网络爬虫的提取。我知道了Beautiful Soup库是解析、遍历、维护“标签树”的功能库。我还认识了信息提取的通常方法:
(1)完整解析信息的标记形式,再提取关键信息。XML,JSON,YAML
须要标记解析器,如bs4库的标签树遍历,优势是信息解析准确,缺点是提取过程繁琐。
(2)无视标记信息,直接搜索关键信息。搜索使用对信息的文本查找函数便可。优势是提取过程简洁,速度快,缺点是提取信息的准确性与信息内容直接相关。

     再次,我还学习到了许多网络爬虫实例。其中让我印象比较深的是正则表达式的入门知识。regular expression是指用来简洁表达一组字符串的表达式。编译是将符合正则表达式语法的字符串转换成正则表达式特征:p = re.compile( regex ), 特征能够表达一组字符串。正则表达式的类型有:
(1) raw string类型(原生字符串类型,不包含转义符的类型):r'text', 如r'\d{3}-\d{8}|\d{4}-\d{7}'
(2) string类型,将\理解为转义符,使用更繁琐:如'\\d{3}-\\d{8}|\\d{4}-\\d{7}'
(3)当正则表达式包含转义字符,使用raw string类型

     最后,学习了网络爬虫的框架。我知道了scrapy不是一个简单的函数功能库,而是一个爬虫框架,它是一个5+2结构。而且知道了它的步骤:

(1)创建一个Scrapy爬虫工程:scrapy startproject python123demo

(2)在工程中产生一个Scrapy爬虫:scrapy genspider demo python123.io (3)配置产生的spider爬虫demp.py

相关文章
相关标签/搜索