美文网首页Python学习资料整理虫虫
Python爬虫最入门的教程案例:爬取糗百

Python爬虫最入门的教程案例:爬取糗百

作者: 9ba4bd5525b9 | 来源:发表于2019-03-15 16:21 被阅读68次

    本文目标

    掌握爬虫的基本概念

    Requests 及 Beautiful Soup 两个 Python 库的基本使用

    通过以上知识完成糗百段子抓取

    爬虫基本概念

    爬虫也称网页蜘蛛,主要用于抓取网页上的特定信息。这在我们需要获取一些信息时非常有用,比如我们可以批量到美图网站下载图片,批量下载段子。省去手工操作的大量时间。爬虫程序一般是通过模拟浏览器对相应URL发出请求,获取数据,并通过正则等手段匹配出页面中我们所需的数据。

    Requests 库基本介绍

    Requests 是学习爬虫的一大利器。是一个优雅简单的 HTTP库。官网介绍如下:

    Requests: HTTP for Humans

    专门为人类使用的 HTTP 库。使用起来非常简单明了。

    我们平时浏览网页的步骤是输入网址,打开。在 Requests 中是如下这样的,我们可以在 Python 交互式解释器中输入以下代码:

    我门看到下面一堆的代码,其实就是网页的源代码(也可以在浏览器上右键查看页面源代码)。通过这几行代码我们就拿到了页面的所有信息,剩下的就是从页面中找到我们所需要的信息。

    Beautiful Soup 库介绍

    拿到网页信息后,我们要解析页面,通常来说我们有以下几种方式来解析页面,获取我们所需的信息。

    正则表达式

    适用于简单数据的匹配,如果匹配内容较复杂,正则表达式写起来会很绕,同时页面内容稍微变化,正则就会失效

    Lxml

    Lxml 是专门用来解析 XML 格式文件的库,该模块用 C 语言编写,解析速度很快,和正则表达式速度差不多,但是提供了 XPath 和 CSS 选择器等定位元素的方法

    Beautiful Soup

    这是一个 Python 实现的解析库,相比较于前两种来说,语法会更简单明了一点,文档也比较详细。唯一的一点就是运行速度比前两种方式慢几倍,当数据量非常大时相差会更多。

    本文作为入门教程,就从 Beautiful Soup 入手,来学习一下匹配页面所需元素的方法。

    假如有以下 HTML 内容 example.html

    我们通过 Beautiful Soup 来解析这个 html. 首先我们pip install beautifulsoup4安装这个库,并看一下简单使用。

    详细的操作可以去看一下文档,文档非常详细,例子也很多,简单明了。

    糗百爬虫代码

    我们先爬取纯文本的内容 https://www.qiushibaike.com/t... 爬取这个链接下的内容。我们把页面结构截图如下,我们要获取的信息,我用红色的方框进行了标注。

    图一:

    图二:

    运行代码后,我们会得到 'qiubai.txt'文件,打开后如下所示

    相关文章

      网友评论

        本文标题:Python爬虫最入门的教程案例:爬取糗百

        本文链接:https://www.haomeiwen.com/subject/ynkrmqtx.html