1.注册中国大学MOOC
2.选择北京理工大学嵩天老师的《Python网络爬虫与信息提取》MOOC课程
3.学习完成第0周至第4周的课程内容,并完成各周作业
4.提供图片或网站显示的学习进度,证明学习的过程。
5.写一篇不少于1000字的学习笔记,谈一下学习的体会和收获。
因为老师,我第一次接触慕课,没想到慕课上有那么多的课程,各方各面都有。
接触了爬虫之后,发现爬虫并不简单,但很有趣。
通过学习了python网络爬虫与信息提取,使我近一步了解了python,还有什么是网络爬虫,网络爬虫又称网络蜘蛛、网络蚂蚁、网络机器人等,可以自动化浏览网络中的信息,当然浏览信息的时候需要按照我们制定的规则进行,这些规则我们称之为网络爬虫算法。使用Python可以很方便地编写出爬虫程序,进行互联网信息的自动化检索。我们在研究爬虫的时候,不仅要了解爬虫如何实现,还需要知道一些常见爬虫的算法,如果有必要,我们还需要自己去制定相应的算法。
第一周,学习了Requests库,它有7个主要的方法。
requests.requests() 构造一个请求,支撑以下各方法的基础方法
requests.get() 获取HTML网页的主要方法,对应于HTTP的GET
requests.head() 获取HTML网页头信息的方法,对应于HTTP的HEAD
requests.post() 向HTML网页提交POST请求的方法,对应于HTTP的POST
requests.put() 向HTML网页提交PUT请求的方法,对应于HTTP的PUT
requests.patch() 向HTML网页提交局部修改请求,对应于HTTP的PATCH
requests.delete() 向HTML页面提交删除请求,对应于HTTP的DELETE
我们学习了爬虫之后,不能做坏事哦。
第二周,学习了Beautiful Soup库
bs4库的基本元素有:Tag;Name;Attributes;NavigableString;Comment
Bs4库的遍历功能:
contents;children;descendants(下行遍历)
parent;parents(上行遍历)
next_sibling;previous_sibling;next_siblings;previous_siblings(平行遍历)
通过学习了解到HTML的基本格式是树形结构
第三周,学习了Re(正则表达式)库
regex.search() 在一个字符串中搜索匹配正则表达式的第一个位置,返回match对象
regex.match() 从一个字符串的开始位置起匹配正则表达式,返回match对象
regex.findall() 搜索字符串,以列表类型返回全部能匹配的子串
regex.split() 将一个字符串按照正则表达式匹配结果进行分割,返回列表类型
regex.findliter() 搜索字符串,返回一个匹配结果的迭代类型,每个迭代元素是match对象
regex.sub() 在一个字符串中替换所有匹配正则表达式的子串,返回替换后的字符串
第四周,学习了Scrapy爬虫框架,它是用纯Python实现一个为了爬取网站数据、提取结构性数据而编写的应用框架,用途非常广泛。它是”5+2”的结构,还学习了Scrapy命令行的使用以及Scrapy与requests的不同。
学完之后,觉得爬虫真的是太神奇了,蛮好玩的,而且可以通过爬虫爬取数据,还可以进行数据分析,比如在进行大数据分析或数据挖掘时,我们可以去一些比较大型的官方站点下载数据源。但这些数据源比较有限,我们可以编写自己的爬虫程序,从互联网中进行数据信息的获取。我还明白了爬虫的流程:是向起始url发送请求,并获取响应,对响应进行提取,如果提取url,则继续发送请求获取响应;如果提取数据,则将数据进行保存。还明白了Robots协议,网站通过Robots协议告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取。
在未来,我觉得爬虫的地位会越来越重要,所以,我会继续好好学习爬虫的。