1.注册中国大学MOOC
2.选择北京理工大学嵩天老师的《Python网络爬虫与信息提取》MOOC课程
5.写一篇不少于1000字的学习笔记,谈一下学习的体会和收获。
学习《python网络爬虫与信息提取》心得与收获
经过一周的时间,我在中国大学MOOC上学习了北京理工大学嵩天老师的《python网络爬虫与信息提取》,通过这一周的学习,我总结了我的收获及体会。
一、网络爬虫之前奏:常见的Python IDE工具有两种,一种是文本工具类IDE,一种是集成工具类IDE。其中,文本工具类IDE主要包括IDLE、Sublime Text;集成工具类IDE主要包括PyCharm、Anaconda&Spyder。
二、网络爬虫之规则:1、Requests库的安装:以“管理员身份”运行cmd,输入pip install requests.
2、Requests库的7个方法:requests.request() 构造一个请求,支撑以下各方法的基础方法。
requests.get() 获取HTML网页的主要方法,对应HTTP的GET。
requests.head() 获取网页头信息的方法,对应HTTP的HEAD。
requests.post() 向HTML网页提交POST请求的方法,对应HTTP的POST。
requests.put() 向HTML网页提交PUT请求的方法,对应于HTTP的PUT。
requests.patch() 向HTML网页提交局部修改请求,对应于HTTP的PATCH。
requests.delete() 向HTML页面提交删除请求,对应于HTTP的DELETE。
3、Response对象的属性:r.status_code HTTP请求的返回状态,200表示连接成功,404表示失败。
r.text HTTP响应内容的字符串形式,即url对应的页面内容。
r.encoding 从HTTP header中猜测的响应内容编码方式。
r.apparent_encoding 从内容中分析出的响应内容编码方式。
r.content HTTP响应内容的二进制形式。
4、Requests库的异常:requests.ConnectionError 网络连接错误异常,如DNS查询失败、拒绝连接等。
requests.HTTPError HTTP 错误异常。
requests.URLRequired URL 缺失异常。
requests.TooManyRedirects 超过重大重定向次数,产生重定向异常 。
requests.ConnectTimeout 连接远程服务器超时异常。
requests.Timeout 请求URL超时,产生超时异常。
三、网络爬虫之提取:1、Beautiful Soup库的安装:以“管理员身份运行”cmd,执行pip install beautifulsoup4
2、beautiful soup库是解析、遍历、维护“标签树”的功能库
3、bs4的HTML解析器 bs4的HTML解析器 BeautifulSoup(mk,'html.parser') 安装bs4库
lxml的HTML解析器 BeautifulSoup(mk,’lxml’) pip install lxml
lxml的XML解析器 BeautifulSoup(mk,’xml’) pip install lxml
html5lib的解析器 BeautifulSoup(mk,’html5lib’) pip install html5lib
4、BeautifulSoup类的基本元素:Tag、Name、Attributes、NavigableString、Comment
5、标签树的三种遍历:下行遍历、上行遍历、平行遍历
6、信息标记的三种形式:XML、JSON、YAML
四、网络爬虫之实战:RE库主要功能函数: re.search() 在一个字符串中搜索匹配正则表达式的第一个位置,返回match对象。
re.match() 从一个字符串的开始位置起匹配正则表达式,返回match对象。
re.findall() 搜索字符串,以列表类型返回全部能匹配的子串。
re.spilt() 将一个字符串按照正则表达式匹配结果进行分割,返回列表类型。
re.finditer() 搜索字符串,返回一个匹配结果的迭代类型,每个迭代元素是match对象。
re.sub() 在一个字符串中替换所有匹配正则表达式的子串,返回替换后的字符串。
五、网络爬虫之框架:1、Scrapy安装:以“管理员身份运行” cmd,执行pip install scrapy
2、Scrapy不是一个函数功能库,而是一个爬虫框架。爬虫框架是实现爬虫功能的一个软件结构和功能组件集合。爬虫框架是一个半成品,能够帮助用户实现专业网络爬虫。
3、Scrapy常用命令:startproject 创建一个新工程
genspider 创建一个爬虫
settings 获得爬虫配置信息
crawl 运行一个爬虫
list 列出工程中所有爬虫
shell 启动URL调试命令行
4、Scrapy爬虫的命令行逻辑:命令行更容易自动化,适合脚本控制本质上,Scrapy是给程序员用的,功能更重要。
通过这次学习,我更进一步地了解了什么是网络爬虫,也让我感觉到了Python语言的乐趣,让我越来越喜欢这门语言,同时也在学习过程中发现自身掌握知识点的不足以及明白了要如何改进。