所有的Python “爬虫“ 初学者,都应该看这篇文章!
前段时间,黄同学为大家写了一篇爬虫
保姆级文章,大家非常喜欢。链接如下:
3000字 “婴儿级” 爬虫图文教学 | 手把手教你用Python爬取 “实习网”!
这篇文章其实已经是基础的基础了,但是如果搭配上今天的这篇文章,应该更棒了!
今天黄同学就手把手带你认识网页结构
,这个对于后续爬虫定位数据,肯定是有帮助的。
我们直到,查看网页源码有两种方式:
- ① 单击鼠标右键,点击查看网页源代码;
- ② 单击电脑上的F12键;
以实习网为例,网页源代码结构大致就是这样的。
每个网页的源代码,都是由很多不同的标签,嵌套组成的。为了讲解方便,我们利用一个简单的html源代码,给大家讲解网页结构。
<!DOCTYPE html>
<html lang="zh-CN">
<head> <meta charset="utf-8"> #注意这个地方,文章编码都是看这里的,有时候解析源代码乱码,可能就是这里的问题!<title>网页标题</title> <meta name="keywords" content="关键字" /> <meta name="description" content="此网页描述" />
</head>
<body> 这里是网页正文内容
</body>
</html>
解释如下:
上图是一个最简单的HTMl文档,在上述基础框架上,再添加一些其它的HTML标签,添加一些内容,就可以构成一个丰富的网页了。
我们在爬虫过程中,常见的HTMl标签有div、ul、ol、li、h、a、p、span、img等。接下来,我们分别来介绍它。
注意:HTML标签通常是成对出现的(双边标记),比如
<div>
和</div>
,也有单独呈现的标签(单边标记),如:<br />
、<hr />
和<img src=“images/1.jpg” />
等。说明:给大家讲述这些标签的目的,是为了让大家清楚每个标签具体指代啥,HTML代码不清楚没关系,你只要记住不同标签实际展示出来的效果是啥!
在讲解之前,我们先用pycharm创建一个.html
的文件,方便我们后面做标签的讲解演示。
如何在pycharm中创建一个.html
的文件呢?
- ① 打开pycharm;
- ② 当出现下图,完成图中操作;
- ③ 当出现下图,任意写一个名称即可;
三步我们就创建了一个最基本的HTML网页,结构大致如下:
div标签
用于定义一个个不同的区块,表示在网页中划定一块儿区域,用于展示内容。因此我们可以设置该区块儿的高height和宽width。
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body>
<div style="height:100px;width:500px;border:5px;">定义第一个区块儿</div><div style="height:500px;width:500px;border:8px;">定义第二个区块儿</div>
</body>
</html>
结果展示:
ul、ol和li标签
ul用于定义一个无序列表,ol用于定义一个有序列表,li可以存在于ul或ol之下,每个li中代码列表中的一条数据。
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body>
<div><ul><li>无序列表中的数据①</li><li>无序列表中的数据②</li><li>无序列表中的数据③</li></ul><ol><li>有序列表中的数据①</li><li>有序列表中的数据②</li><li>有序列表中的数据③</li></ol>
</div>
</body>
</html>
结果如下:
h标签
用于定义标题,分别从h1到h6,它们的字体分别由大到小。可以类比word中一级标题、二级标题的概念。
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body>
<h1>一级标题</h1>
<div><ul><li>无序列表中的数据①</li><li>无序列表中的数据②</li><li>无序列表中的数据③</li></ul>
<h2>二级标题</h2><ol><li>有序列表中的数据①</li><li>有序列表中的数据②</li><li>有序列表中的数据③</li></ol>
</div>
<h3>三级标题</h3>
</body>
</html>
结果如下:
a标签
用于定义一个超链接,点击超链接可以直接跳转。
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body>
<h1>一级标题</h1>
<div><ul><li>无序列表中的数据①</li><li>无序列表中的数据②</li><li>无序列表中的数据③</li></ul>
<h2>二级标题</h2>
<a href="https://blog.csdn.net/weixin_41261833">我是一个超链接</a><ol><li>有序列表中的数据①</li><li>有序列表中的数据②</li><li>有序列表中的数据③</li></ol>
</div>
<h3>三级标题</h3>
</body>
</html>
结果如下:
p标签
用于定义一个段落,每个段落占一行。
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body>
<h1>一级标题</h1>
<div><ul><li>无序列表中的数据①</li><li>无序列表中的数据②</li><li>无序列表中的数据③</li></ul>
<h2>二级标题</h2>
<a href="https://blog.csdn.net/weixin_41261833">我是一个超链接</a><ol><li>有序列表中的数据①</li><li>有序列表中的数据②</li><li>有序列表中的数据③</li></ol>
</div>
<h3>三级标题</h3>
<p>这是定义的第一个段落</p>
<p>这是定义的第二个段落</p>
<p>这是定义的第三个段落</p>
</body>
</html>
结果如下:
span标签
用于定义一个行内元素,不同的span标签定义的内容,都显示在一行,方便我们为每个块儿添加不同的格式。
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body>
<h1>一级标题</h1>
<div><ul><li>无序列表中的数据①</li><li>无序列表中的数据②</li><li>无序列表中的数据③</li></ul>
<h2>二级标题</h2>
<a href="https://blog.csdn.net/weixin_41261833">我是一个超链接</a><ol><li>有序列表中的数据①</li><li>有序列表中的数据②</li><li>有序列表中的数据③</li></ol>
</div>
<h3>三级标题</h3>
<p>这是定义的第一个段落</p>
<p>这是定义的第二个段落</p>
<p>这是定义的第三个段落</p><span>这是定义的第一个行内元素。</span>
<span>这是定义的第二个行内元素。</span>
<span>这是定义的第三个行内元素。</span>
</body>
</html>
结果如下:
标签img
定义一张图片,其中有一个src属性用于指定图片的地址。
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<img>
<h1>一级标题</h1>
<div><ul><li>无序列表中的数据①</li><li>无序列表中的数据②</li><li>无序列表中的数据③</li></ul>
<h2>二级标题</h2>
<a href="https://blog.csdn.net/weixin_41261833">我是一个超链接</a><ol><li>有序列表中的数据①</li><li>有序列表中的数据②</li><li>有序列表中的数据③</li></ol>
</div>
<h3>三级标题</h3>
<p>这是定义的第一个段落</p>
<p>这是定义的第二个段落</p>
<p>这是定义的第三个段落</p><span>这是定义的第一个行内元素。</span>
<span>这是定义的第二个行内元素。</span>
<span>这是定义的第三个行内元素。</span><img src="https://i.loli.net/2020/05/30/Z5XrPidptFDb2BA.jpg" alt="加载失败">
</body>
</html>
结果如下:
好了,本文就讲述到这里。希望你看了本文以后,以后再遇到爬虫,每当看到这些标签,你就能大致知道它是什么就行。
所有的Python “爬虫“ 初学者,都应该看这篇文章!相关推荐
- Python文件IO基础,看这篇文章就够了!
一切皆文件 Linux的设计哲学之一:一切皆文件. 因此,设备也是文件,对设备的操作可以转换成对文件的I/O操作. 冯诺依曼体系架构 CPU由运算器和控制器组成,计算机的五大部件如下: 运算器:完成各 ...
- Python爬虫-爬取快看漫画网图片并拼接成漫画长图
Python爬虫-爬取快看漫画网图片并拼接成漫画长图 1.爬取图片 2.拼接图片 1.爬取图片 import os import requests from bs4 import BeautifulS ...
- python入门书籍推荐,看这篇文章就够,请!
python入门书籍推荐,看这篇文章就够,请! 事实上,有关python的书籍很多很多,就当当网就有50000件和python有关的书籍,我特地去了当地的新华书店,蹲了大半天,回来给大家推荐,适合想学 ...
- python java混合编程_详解java调用python的几种用法(看这篇就够了)
java调用python的几种用法如下: 在java类中直接执行python语句 在java类中直接调用本地python脚本 使用Runtime.getRuntime()执行python脚本文件(推荐 ...
- Python爬虫获取简书的用户、文章、评论、图片等数据,并存入数据库
Python爬虫获取简书的用户.文章.评论.图片等数据,并存入数据库 爬虫定义:网络爬虫(又称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维 ...
- 好多人都说存储过程很难?认真看这篇文章就够了
何为存储过程? 存储过程是在数据库管理系统中保存的.预先编译的并能实现某种功能的sql程序,说直白点,java知道吧?和java的方法一样. 每遇到一个新的知识点时,我们都会看看它的优点,从而加深对它 ...
- Android 8.0新特性(看这篇文章就够了)
2019独角兽企业重金招聘Python工程师标准>>> 在刚结束不久的谷歌 I/O2017开发者大会上发布的第二个Android O(安卓8.0)开发者预览,并且向普通用户开放了第二 ...
- 每个程序员都必读的10篇文章
作为一名Java程序员和软件开发人员,那些每个程序员都应该知道的XXX的文章教会了我不少东西,它们提供了某个特定领域的一些实用的并且有深度的信息,这些东西通常很难找到.在我学习的过程中我读到过许多非常 ...
- 每个程序员都必读的12篇文章
作为一名Java程序员和软件开发人员,那些每个程序员都应该知道的XXX的文章教会了我不少东西,它们提供了某个特定领域的一些实用的并且有深度的信息,这些东西通常很难找到. 在我学习的过程中我读到过许多非 ...
最新文章
- 练习2-17 生成3的乘方表 (15 分)
- 「追根溯源」Ruby数组的uniq方法
- 键盘 Input子系统
- git远程仓库和分支
- Scala类的继承和抽象类
- idea调整主题和代码风格
- 分区表需要数据备份吗oracle,Oracle 分区表数据的导入与导出(1)
- 登录过gnome主题后无法再登录xfce主题
- 网管型工业交换机和 非网管型工业交换机的优缺点
- Eclipse的下载Spring Tool Suite(sts)
- 印象笔记打开错误_了不起的“印象”
- JAVA等差素数列蓝桥杯_等差素数列(2017蓝桥杯,二题 )
- html5 video cache,手机里的videoCache文件夹什么意思?可以删除吗?
- WELCOME TO `ICE WORLD`
- python课程设计——当当网Python图书数据分析
- 吾日三省吾身:三种光
- Kibana 7.13.2 启动时报错 TaskManager is unable to start as there the Kibana UUID is invalid
- win10 设置定时关机
- 源码大公开!Python爬取豆瓣电影Top250源代码,赶紧收藏!
- 使用Access时遇到的问题