인생은 짧고, 파이썬을 사용
앞서 언급 한 포털 :
화이트 파이썬 크롤러 과학 (2) : 사전 준비 (a)는 실질적으로 도서관 장착
리눅스 시작하기하는베이스 (B)-준비를 사전 : 흰색 파충류 파이썬을 배울 수 (3)
사전 엔트리 준비의 도커 기준 (III) : 흰색 파충류 파이썬을 배우기 (4)
화이트 학교 파이썬 파충류 (5) : 사전 준비 (4 개) 데이터베이스 인프라
화이트 학교 파이썬 파충류 (6) : 사전 준비 (E) 크롤러 프레임 설치
첫 모습은 좋은 습관 후처럼
웹 페이지 위로
우리의 데이터 소스는 우리가 실제로 데이터를 잡아 전에 그래서, 웹 페이지의 구성을보고 할 필요가 웹 페이지입니다.
웹 페이지는 HTML, CSS, 자바 스크립트의 구성이다.
HTML은 CSS 우리가 등 색상, 각 모듈의 크기, 위치는 CSS에 의해 제어되는 참조를 포함하여, 더 나은 전체 페이지의 모양을 만드는 것입니다 반면, 전체 페이지의 뼈대를 구축하는 데 사용됩니다, 자바 스크립트는 전체 페이지를 만드는 데 사용됩니다 우리가 웹 페이지에 일부 애니메이션을 본 같은 일반적으로 CSS와 자바 스크립트에 의해 수행, 실제 행동의 층이,이 움직임은 데이터의 동적 상호 작용하는 웹 페이지 중 하나는 두 가지 의미를 가지고, "이동" 가.
우리는 크롬 브라우저를 열고 홈 페이지 블로그 스테이션 오픈 F12 개발자 도구를 방문하면 볼 수 있습니다 :
요소는 옵션 페이지의 소스 코드에서 볼 수있는, HTML 코드는 여기에 표시됩니다.
문자의 종류는 같은 사진과 같은 레이블의 다른 유형으로 표시됩니다 <img>
에 표시 라벨, 비디오 <video>
단락과 함께, 표시 라벨 <p>
사이에 라벨 레이아웃에 의해 종종 레이블, 레이아웃 및 나타내는 <div>
다른 레이블의 중첩의 조합을 다양한 상기 페이지 프레임의 중첩 배열의 형성 전에.
在右边 Style 标签页中,显示的就是当前选中的 HTML 代码标签的 CSS 层叠样式,“层叠”是指当在HTML中引用了数个样式文件,并且样式发生冲突时,浏览器能依据层叠顺序处理。“样式”指网页中文字大小、颜色、元素间距、排列等格式。
而 JavaScript 就厉害了,它在 HTML 代码中通常使用 <script>
进行包裹,可以直接书写在 HTML 页面中,也可以以文件的形式引入。
网页结构
我们来手写一个简单 HTML 页面来感受下。
首先创建一个文本文件,将后缀名改为 .html
,名字可以自取,写入如下内容:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Demo</title>
</head>
<body>
<div id="container">
<div class="wrapper">
<h1>Hello World</h1>
<div>Hello Python.</div>
</div>
</div>
</body>
</html>
首先,整个文档是以 DOCTYPE
来开头的,这里定义了文档类型是 html
,整个文档最外层的标签是 <html>
,并且结尾还以 </html>
来表示闭和。
这里简单讲一下,浏览器解析 HTML 的时候,并不强制需要每个标签都一定要有闭和标签,但是为了语义明确,最好每个标签都跟上对应的闭和标签。各位同学可以尝试删除其中的闭和标签进行尝试,并不会影响浏览器的解析。
整个 HTML 文档一般分为 head
和 body
两个部分,在 head
头中,我们一般会指定当前的编码格式为 UTF-8
,并且使用 title
来定义网页的标题,这个会显示在浏览器的标签上面。
body
中的内容一般为整个 html
文档的正文,这里小编简单写了几个 div
的嵌套。
这个页面的显示如下:
HTML DOM
在 HTML 中,所有标签定义的内容都是节点,它们构成了一个 HTML DOM 树。
根据 W3C 的 HTML DOM 标准,HTML 文档中的所有内容都是节点:
- 整个文档是一个文档节点
- 每个 HTML 元素是元素节点
- HTML 元素内的文本是文本节点
- 每个 HTML 属性是属性节点
- 注释是注释节点
HTML DOM 将 HTML 文档视作树结构。这种结构被称为节点树:
通过 HTML DOM,树中的所有节点均可通过 JavaScript 进行访问。所有 HTML 元素(节点)均可被修改,也可以创建或删除节点。
节点树中的节点彼此拥有层级关系。
父(parent)、子(child)和同胞(sibling)等术语用于描述这些关系。父节点拥有子节点。同级的子节点被称为同胞(兄弟或姐妹)。
- 在节点树中,顶端节点被称为根(root)
- 每个节点都有父节点、除了根(它没有父节点)
- 一个节点可拥有任意数量的子
- 同胞是拥有相同父节点的节点
下面的图片展示了节点树的一部分,以及节点之间的关系:
CSS
前面我们介绍到 CSS 可以用来美化网页,那么我们简单加一点 CSS 修改下页面的显示效果。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Demo</title>
<style type="text/css">
.wrapper {
text-align: center;
}
</style>
</head>
<body>
<div id="container">
<div class="wrapper">
<h1>Hello World</h1>
<div>Hello Python.</div>
</div>
</div>
</body>
</html>
我们在 head 中添加了 style 标签,并注明其中的内容解析方式为 CSS 。其中的内容的含义是让文本居中显示,先看下增加 CSS 后的页面效果吧:
可以看到,原来居左的文字已经居中显示了。
那么,CSS 是如何表示它要修饰的文档结构的呢?这就要说到 CSS 选择器了。
在CSS中,我们使用CSS选择器来定位节点。例如,上例中 div
节点的 id
为 container
,那么就可以表示为 #container
,其中 #
开头代表选择 id
,其后紧跟 id
的名称。另外,如果我们想选择 class
为 wrapper
的节点,便可以使用 .wrapper
,这里以点 .
开头代表选择 class
,其后紧跟 class
的名称。
另外, CSS 选择器还支持嵌套选择,各个选择器之间加上空格分隔开便可以代表嵌套关系,如 #container .wrapper p
则代表先选择 id 为 container 的节点,然后选中其内部的 class 为 wrapper 的节点,然后再进一步选中其内部的 p 节点。另外,如果不加空格,则代表并列关系,如 div#container .wrapper p.text
代表先选择 id 为 container 的 div 节点,然后选中其内部的 class 为 wrapper 的节点,再进一步选中其内部的 class 为 text 的 p 节点。这就是 CSS 选择器,其筛选功能还是非常强大的。