美文网首页程序员
利用Scrapy 抓取豆瓣数据(二)

利用Scrapy 抓取豆瓣数据(二)

作者: 观察者_王动 | 来源:发表于2017-06-13 15:39 被阅读20次

    上一节我们简单讲了一下Scrapy 的安装和使用。在正式开始抓取之前呢,我们先要介绍一些html。磨刀不误砍柴工嘛

    HTML 简介

    HTML 也就是HyperText Markup Language。中文翻译过来就是超文本标记语言。它与CSS、JavaScript 三者共同构成了仿佛多彩的网页内容。 CSS 是网页的妆容,JavaScript是网页的神经系统,那么HTML就是骨架和血肉了。如果你访问一个网站的时候并没有获取到相应的CSS 和JavaScript 文件,那么你得到的最多就是一个“不好看”的网页。但是并不会影响到信息的获取。这也是互联网最初设计哲学的体现——实现信息的平等交流沟通。 只有信息才是最核心的交流内容。不过现在眼睛被养刁了的我们怕是难以忍受最初的互联网形态了吧。

    闲话不多,我们先来看一看最简单的一段HTML 代码吧。

    <!DOCTYPE html>
    <html lang="en">
    <head>
      <meta charset="UTF-8">
      <title>Title</title>
    </head>
    <body>
      
    </body>
    </html>
    

    HTML语言之所以突出“标记”二字就是因为基本所有的内容都是储存在一对<></>标记之间的。例如其中的<html></html>标签就意味着这之间的内容都是html内容。相应的各种不同的标签都有着不同的语意,例如<a></a>标签的超链接,<ul></ul>标签的列表等等。通过这些标签赋予的不同语意,浏览器会作出不同的解析。

    善于观察的你也一定注意到了,这些标签互相之间时存在嵌套的。例如上面的那一段,<head></head>标签就嵌套在了<html></html>标签之内了。这就涉及到我们最重要的一点知识——「html 的树形结构」。

    所谓树形结构就是一层接着一层这样,就像一棵树有着树根,枝干,树叶这样的结构。如图所示


    HTML结构示意图

    想要找到某一个具体的节点就要顺着脉络一层层的向下寻找才行。这就是所谓的DOM(Document Object Model)模型。要让人去在网页中找到某一个信心有时候很容易,因为类似的信息位置都是差不多的,但是要让爬虫来找就需要给出明确的信息才可以哦。

    审查元素

    对于人来说直接从源代码去查找某个信息的具体位置并不现实,因为没有渲染过的HTML代码实在是不符合人类正常的视觉模式。好在浏览器可以帮到我们大忙。

    对于某个特定的元素而言,你只要在它上方点击右键选择审查元素,就可以获得我们下一步工作中需要的信息了。如图所示

    firefox中审查元素截图

    这样一个节点的信息就一级一级的展示在我们的眼前了。这里我们不光看到了一级一级的标签,还有部分标签属性,下一节我们讲解XPath selector 的时候都会用到哦。

    相关文章

      网友评论

        本文标题:利用Scrapy 抓取豆瓣数据(二)

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