python爬虫自学笔记_Python爬虫学习笔记2:爬虫基础

Hello World

Hell口, this i s a paragraph.

body >

html>

这就是一个最简单的 HTML 实例 。 开头用 DOCTYPE 定义了文档类型,其次最外层是 html 标签, 段后还有对应的结束标签来表示闭合,其内部是 head标签和 body标签,分别代表网页头和网页体, 它们也需要结束标签 。 head 标签内定义了一些页面的配置和引用,如:

它指定了 网页的编码为 UTF-8.

title 标签则定义了网页的标题,会显示在网页的选项卡中,不会显示在正文中 。 body 标签内则 是在 网页正文中显示的内容 。 div 标签定义了网页中的区块,它的 id 是 container,这是一个非常常 用的属性,且 id 的内容在网页中是唯一的,我们可以通过它来获取这个区块 。 然后在此区块内又有 一个 div 标签,它的 class 为 wrapper,这也是一个非常常用的属性,经常与 css 配合使用来设定样 式。 然后此区块内部又有一个 h2 标签,这代表一个二级标题。 另外,还有一个 p 标签,这代表一个

段落 。 在这两者中直接写入相应的内容即可在网页中呈现出来,它们也有各自的 〉|夺代码保存后,在浏览器中打开该文件,可以看到如图 2-10所示的内容。

class 属性 .

2.2.4 选择器

在 css中,我们使用 css选择器来定位节点。 例如,上例中 div节点的 id为 container,那么就 可以表示为#container,其中#开头代表选择 id,其后紧跟 id 的名称 。 另外,如果我们想选择 class 为 wrapper 的节点 ,便可以使用 .wrapper,这里以点(.)开头代表选择 class,其后紧跟 class 的名称 。 另外,还有一种选择方式,那就是根据标签名 筛选,例如想选择二级标题 ,直接用 h2 即可 。 这是最 常用的 3种表示,分别是根据挝 、 class、标签名筛选 .

另外, css 选择器还支持嵌套选择 ,各个选择器之间加上空格分隔开便可以代表嵌套关系, 如 #container .wrapper p则代表先选择 id 为 container 的节点,然后选中其内部的 class 为 wrapper 的节 点,然后再进一步选中其内部的 p节点。另外,如果不加空格,则代表并列关系,如 div#container .wrapper p.text代表先选择 id为 container的 div节点,然后选中其内部的 class为 wrapper的节点,再进一 步选中其内部的 class 为 text 的 p节点

python爬虫自学笔记_Python爬虫学习笔记2:爬虫基础_第1张图片

2.3 爬虫的基本原理

我们可以把互联网比作一张大网,而爬虫(即网络爬虫)便是在网上爬行的蜘蛛 。 把网的节点比 作一个个网页,爬虫爬到这就相当于访问了该页面,获取了其信息。 可以把节点间的连线比作网页与 网页之间的链接关系,这样蜘蛛通过一个节点后,可以顺着节点连线继续爬行到达下一个节点,即通 过一个网页继续获取后续的网页,这样整个网的节点便可以被蜘蛛全部爬行到,网站的数据就可以被 抓取下来了 .

2.3.1 爬虫概述

爬虫就是获取网页并提取和保存信息的自动化程序

1. 获取网页

爬虫首先要做的工作就是获取网页,这里就是获取网页的源代码。 源代码里包含了网页的部分有用信息 ,所以只要把源代码获取下来,就可以从中提取想要的信息了

2. 提取信息

获取网页源代码后,接下来就是分析网页源代码,从中提取我们想要的数据。正则表达式、beautiful soup,pyquery, lxml等

3. 保存数据

提取信息后,我们一般会将提取到的数据保存到某处以便后续使用。 这里保存形式有多种多样, 如可以简单保存为 TXT 文本或 JSON 文本,也可以保存到数据库,如 MySQL 和 MongoDB 等

2.3.3 JavaScript渲染页面

用 时lib或 requ曰“抓取网页时,得到的游、代码实际和浏览器中看到的不一样。

现在网页越来越多地采用 Ajax、前端模块化工具来构建,整个网页可 能都是由 JavaScript渲染出来的,也就是说原始的 HTML代码就是一个空壳 。

〈 『neta c h a r s e t = " UT F - 8 ” >

This is a Oemo head>

你可能感兴趣的:(python爬虫自学笔记)