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

我怕爱的太早我们不能终老 提交于 2019-12-02 18:40:45

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协议告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取。

  在未来,我觉得爬虫的地位会越来越重要,所以,我会继续好好学习爬虫的。

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!