网页抓取数据百度百科(推荐一下我建的python学习交流()的源码分享)
优采云 发布时间: 2022-02-17 04:01网页抓取数据百度百科(推荐一下我建的python学习交流()的源码分享)
推荐我自己搭建的python学习交流群:850973621,里面有免费的视频教程,开发工具,
电子书,项目源代码共享。让我们一起交流学习,一起进步!
一、概览
目标
掌握轻量级爬虫的开发
内容
提示:轻量级爬虫:无需登录即可爬取静态页面
复杂爬虫:爬取需要登录或Ajax异步加载等复杂场景的页面
二、爬虫介绍及爬虫技术价值
2.1、什么是爬行动物
自动抓取互联网信息的程序可以从一个 URL 开始,访问其关联的 URL,并提取我们需要的数据。也就是说,爬虫是自动访问互联网并提取数据的程序。
2.2、爬虫的价值
三、简单的爬虫架构
爬虫调度终端
用于启动、执行、停止爬虫,或者监控爬虫的运行情况。爬虫程序共有三个模块。URL管理器:对要爬取的URL和已爬取的URL这两个数据的管理
网页下载器
下载URL管理器中提供的URL对应的网页,并将其存储为字符串,发送给网页解析器进行解析
网络解析器
一方面,有价值的数据将被解析。另一方面,由于每个页面都有很多指向其他页面的网页,这些URL解析后,可以添加到URL管理器中。
这三个部门组成一个简单的爬虫架构,可以爬取互联网上的所有网页
四、URL管理器及三种实现方式
为什么需要 URL 管理器?
因为要爬取的页面中有指向其他页面的URL,而其他URL也有指向当前页面的URL,可能会导致重复爬取和循环爬取,所以使用URL管理器来防止重复和循环爬取。解决问题
五、网页下载器和urllib模块
本文使用urllib来实现。urllib2是python自带的模块,不需要下载。urllib2 在 python3.x 中改为 urllib.request。
三种实现方式
六、Web 解析器和 BeautifulSoup 3rd 方模块
本文解析器使用的是BeautifulSoup模块,先测试验证是否安装了模块
美丽的汤
与其他html解析相比,它有一个非常重要的优势。HTML将被反汇编成对象处理。整篇文章被转换成字典和数组。与正则解析爬虫相比,省略了学习正则的高成本。本文使用python3.x系统,无需安装。
方法介绍
七、爬虫开发实例(目标爬虫百度百科)
在写代码之前,先说一下确定目标和分析目标的两个步骤
确定目标
确定从哪个 网站 哪个页面爬取的数据部分。在这个例子中,我们要爬取百度百科的雷军入口页面及其相关入口页面的标题和介绍。
分析目标
也就是爬取的策略,它由三部分组成。
网址格式
限制目标的范围,否则会爬到很多不相关的页面。通过检查元素,我们可以看到这个实例的 URL 格式是 {title}
数据格式
在这个例子中,分析了所有条目中标题和介绍所在的标签的格式。审查元素得到的title元素为:class="lemmaWgt-lemmaTitle-title",介绍元素为:class="lemma-summary"
网页编码
必须知道网页的编码才能正常解析,否则乱码解析不出来。通过检查元素,网页的编码是 UTF-8
编写代码
八、总结
这是我的学习笔记,以及附带的实验。个人感觉Python用起来真的很方便,因为内置模块和第三方模块很多。实验过程中有两个陷阱。第一个是类的初始化函数init。因为_是中文写的,所以没有调用init。,但是这一步没有报错,下面的代码就报错了。还有一个地方就是代码缩进问题导致了红叉。可见,Python是一种严格按照缩进进行解析的语言。