1.注册中国大学MOOC
2.选择北京理工大学嵩天老师的《Python网络爬虫与信息提取》MOOC课程
3.学习完成第0周至第4周的课程内容,并完成各周作业
首先,Python网络爬虫与信息提取这门课是以掌握定向网络数据爬取和网页解析的基本能力为要求,内容分为五个点,为Requests库,robots协议,Beautiful Soup库,实战项目以及Re正则表示库。客观讲,我们通过Requests库来获得相关的网页信息,并且通过Beautiful Soup库来大框架解析信息内容,并且对最关键的内容用Re正则表达式提取出来,通过这些第三方库我们就拥有抓取信息的基本能力。
Python开发工具选择:文本工具类IDE为IDLE和Sublime Text,集成工具类IDE为PyCharm和Anaconda&Spyder。
beautiful soup库是解析、遍历、维护“标签树”的功能库。BeautifulSoup类的基本元素:Tag、Name、Attributes、NavigableString和Comment。标签树的三种遍历:下行遍历、上行遍历和平行遍历。信息标记的三种形式:XML、JSON和YAML。信息提取的一般方法:一、完整解析信息的标记形式,再提取关键信息;二、无视标记形式,直接搜索关键信息;三、融合方法,结合形式解析与搜索方法,提取关键信息。
Requests库的七个主要方法为requests.request(),requests.get(),requests.head(),requests.post(),requests.put(),requests.patch()以及requests.delete()。Requests库的网络异常为requests. Connectionerror,requestsHTTPERROR, requests. URL Required,requests. Toomanyredirects,requests. Connecttimeout和requests.Timeout。所有的网络爬虫都应该遵守Robots协议。
要知道‘盗亦有道’,网络爬虫也有法律风险:服务器上的数据有产权归属;网络爬虫获取数据牟利后将带来法律风险;网络爬虫可能具备突破简单控制的能力,获得被保护数据,从而泄露个人隐私。
Re库:正则表达式:是用来简洁表达一组字符串的表达式;是一种通用的字符串表达框架;进一步,正则表达式是一种针对字符串表达“简洁”和“特征”思想的工具,可以用来判断某字符串的特征归属。Re库的主要功能函数有search、match、findall、finditer和subRe库的函数式法为一次性操作,还有一种为面向对象法,通过compile生成的regex对象
Scrapy的爬虫框架是实现爬虫功能的一个软件结构和功能组件集合,同时爬虫框架是一个半成品, 能够帮助用户实现专业网络爬虫。在和request库相比中,如果是非常小的需求,则使用request库。不太小的需求则用Scrapy库。而且Scrapy库并发性好,性能较高。Scrapy常用命令:startproject、genspider、settings、crawl、list 和shell 。
学习了北京理工大学嵩天老师的《Python网络爬虫与信息提取》MOOC课程后,我受益良多,嵩天老师让我知道和了解到了什么是Python的网络爬虫,嵩天老在实例中的讲解让我们更加了解和会使用python。我觉得要学好爬虫,要先做好以下几点:必须要有python的基础知识,重点在字符串(string)、列表的迭代(iteration)和切片(slice),字典类型,For循环。了解熟悉HTML基础知识。这样就知道了父标签、子标签、兄弟标签等,对于快速定位很有用。要在逐渐学习深入过程中,了解、理解、掌握正则表达式,这是非常强大的东西,在很多语言中都会遇到这个东西,对提取想要的内容非常有帮助。