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

1.注册中国大学MOOC
2.选择北京理工大学嵩天老师的《Python网络爬虫与信息提取》MOOC课程
3.学习完成第0周至第4周的课程内容,并完成各周作业

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

 

 

 


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

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

5.写一篇不少于1000字的学习笔记,谈一下学习的体会和收获。

  通过学习慕课平台上嵩天老师讲授的《python网络爬虫与信息提取》的四周课程,我学会了一些基础的爬虫技能,下面是我在这四周里的学习收获和心得体会。

   第一周:学习了requests库,使用Requests库的get方法爬取一个网站的数据然后返回一个Response对象,爬取完之后我们需要使用raise_for_status查看状态码,只有状态码等于200时,才说明爬取成功,否则就是爬取失败之后为了能够看懂获取到的网页文件,需要对从HTTPheader中获取的编码方式encoding进行赋值成‘utf-8’的编码方式,这样就可以使用Response对象的text属性查看网页的源代码了。爬取的同时,还需要考虑爬虫带来的一些问题,如:法律风险、泄露隐私等。还有我们要遵从每个网站的robots协议,就是所谓的“盗亦有道”。

   第二周:学习了BeautifulSoup库,它是解析、遍历、维护“标签树”的功能库它可以将获取的HTML文件做成一锅汤,使用bs4HTMLparser解释器。我们还可以使用title查看title标签,使用attrs获取标签的属性。需要注意的是标签内的注释内容也会被打印出来,判断是否是注释文档的依据是查看它的类型,如果是注释它的类型:‘bs4.element.Comment',而标签内的字符串类型则是:‘'bs4.element.NavigableString'’。bs4库的内容遍历方法有三种:上行遍历、下行遍历、平行遍历。在这周老师还讲解了信息标记的三种形式,分别是:XML、JSON、YAML这三种。在这周老师用了一个实例:采用Requests-bs4库的技术路线爬取2016年中国大学的排名情况,让我们更好的理解了BeautifulSoup库的使用。

   第三周:学习了正则表达式re库,re库是python的标准库,正则表达式是用来简洁表达一组字符串的表达式。它使用一组特定的操作符来表示英文,数字,特殊符号还有取值范围等的约束条件。对于一些生活中常用到的字符串如邮编,手机号,IP地址等,可以使用正则表达式来匹配这些特定的字符串。re库采用raw string类型表示正则表达式,表示形式为:r'text'。当一个正则表达式有多种匹配形式时,Re库默认采用贪婪匹配,即输出匹配最长的子串。如果我们想要输出最短的子串,那么就需要用到最小匹配操作符来达到我们想要的结果。这周老师介绍了两个实例:"淘宝商品比价定向爬虫"和“股票数据定向爬虫”。但是由于淘宝网站改版了,需要登录淘宝网才能浏览商品,所以根据老师的代码去爬取网络会的不到想到的商品结果。

   第四周:这周学习了Scrapy爬虫框架,它是一个“5+2”的结构:5个主体部分和2个中间键,有三条主要的数据流,spider模块是数据流的入口,ITEM PIPELINE模块则是出口。Scrapy爬虫框架只是一个半成品,而需要用户配置的也是出口和入口的这两个模块,具体需要实现的功能可以根据我们的需求在它原有的框架上进行增加代码。Scrapy爬虫的步骤有:1.建立一个Scrapy爬虫工程:在cmd中使用scrapy startproject [dir]命令创建一个工程。2.在工程中产生一个Scrapy爬虫:使用scrapy genspider [option] 命令在spider目录下生成一个py爬虫文件。3.配置产生的spider爬虫:在上个步骤生成的py文件中编写爬虫代码。4.编写Item Pipeline。5.优化配置策略。老师用了股票数据爬虫的实例给我们演示了Scrapy爬虫的整个过程。

   在学习爬虫过程中学会了很多新技能,同时在此过程中也遇到了一些问题和不理解的地方,遇到问题可以通过百度和翻阅别人的博客来解决自己的问题,这个过程中也学到了很多。

你可能感兴趣的:(第3次作业-MOOC学习笔记:Python网络爬虫与信息提取)