最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python網(wǎng)絡(luò)爬蟲之Web網(wǎng)頁基礎(chǔ)

 更新時(shí)間:2023年04月10日 10:58:49   作者:愛吃餅干的小白鼠  
我們?cè)趯W(xué)習(xí)爬蟲之前,要先了解網(wǎng)頁的組成,只有我們了解其組成嗎,才可以方能百戰(zhàn)百勝,文章中有詳細(xì)的代碼示例,需要的朋友可以參考一下

??Web網(wǎng)頁基礎(chǔ)

我們?cè)趯W(xué)習(xí)爬蟲之前,要先了解網(wǎng)頁的組成,只有我們了解其組成嗎,才可以方能百戰(zhàn)百勝。我們用瀏覽器訪問不同的網(wǎng)站,呈現(xiàn)的頁面,各不一樣,是因?yàn)?,其網(wǎng)頁結(jié)構(gòu)不一樣。

??1.網(wǎng)頁的組成

網(wǎng)頁主要是三大部分組成——HTML,CSS和JavaScript。如果把網(wǎng)頁比作人的臉,這三部分就好比人的眼睛,鼻子和嘴。下面我們介紹這三個(gè)功能。

?HTML

HTML(HyperText Markup Language)是用于構(gòu)建網(wǎng)頁的標(biāo)記語言,它是一種基于標(biāo)準(zhǔn)通用標(biāo)記語言的子集,它取代了HTML1.0作為網(wǎng)頁制作的標(biāo)準(zhǔn),在HTML2.0中,新增了一些元素,增強(qiáng)了網(wǎng)頁的表現(xiàn)能力。

HTML的語法包括標(biāo)簽和標(biāo)簽語法,它們被用來定義網(wǎng)頁的結(jié)構(gòu)、內(nèi)容和樣式。一個(gè)HTML文檔通常包含一個(gè)根標(biāo)簽和一個(gè)或多個(gè)標(biāo)簽,每個(gè)標(biāo)簽都有一個(gè)標(biāo)題行,用于標(biāo)記標(biāo)簽的類型、屬性和值。

HTML的根標(biāo)簽是文檔的開始標(biāo)簽,它包含文檔的標(biāo)題和其他基本信息,如文檔類型、語言、日期、版本等。

除此之外,HTML還有一些其他的元素和屬性,如標(biāo)題、段落、表格、列表、圖像、鏈接等,這些元素和屬性可以用來定義網(wǎng)頁的外觀和行為。

HTML的優(yōu)點(diǎn)包括可移植性、跨平臺(tái)性和內(nèi)容豐富性等,它已經(jīng)成為網(wǎng)頁制作的標(biāo)準(zhǔn)語言,廣泛應(yīng)用于網(wǎng)站、電子郵件、新聞文章、在線聊天等領(lǐng)域。

?CSS

HTML定義了網(wǎng)頁的結(jié)構(gòu),但是只有HTML的頁面布局,網(wǎng)頁并不好看。為了使網(wǎng)頁更加好看一些,可以借助CSS來實(shí)現(xiàn)。

CSS(層疊樣式表)是一種用于定義網(wǎng)頁樣式的語言,它是HTML的超集。CSS提供了更多的樣式選擇和定義,使網(wǎng)頁設(shè)計(jì)更加靈活和易于維護(hù)。

CSS的語法包括選擇器、屬性、值和偽類選擇器等。選擇器是用來選擇要應(yīng)用樣式的元素的,它可以基于類、ID、通配符等進(jìn)行選擇。屬性是用來定義元素樣式的,它可以基于類、ID、通配符等進(jìn)行定義。值可以是一個(gè)單獨(dú)的值,也可以是一個(gè)字符串、數(shù)字或其他類型的值。偽類選擇器是用來定義類選擇器和ID選擇器的,它可以用來定義偽類元素和偽類選擇器。

CSS的優(yōu)點(diǎn)包括可維護(hù)性、可擴(kuò)展性和可定制性等,它使網(wǎng)頁設(shè)計(jì)更加靈活和易于維護(hù)。通過使用CSS,可以更好地控制網(wǎng)頁的布局、樣式和動(dòng)畫效果,從而使網(wǎng)頁更加美觀和吸引人。

CSS3是CSS的最新版本,它增加了一些新的選擇器、屬性和值,使網(wǎng)頁設(shè)計(jì)更加靈活和豐富。例如,CSS3新增了偽類選擇器、動(dòng)畫選擇器、過渡選擇器等,使網(wǎng)頁設(shè)計(jì)更加生動(dòng)和有趣。

那么CSS什么樣子呢,我摘抄了一段。

#head {
    position: relative;
    height: 100%;
    width: 100%;
    min-height: 768px;
    cursor: default;
}

這段代碼定義了一個(gè)名為#head的元素,它的樣式屬性為position: relative; height: 100%; width: 100%; min-height: 768px; cursor: default;。

這些屬性的含義如下:

position: relative:表示元素的定位方式為相對(duì)定位,即元素相對(duì)于其父元素進(jìn)行定位。
height: 100%:表示元素的高度為其父元素的高度的100%。
width: 100%:表示元素的寬度為其父元素的寬度的100%。
min-height: 768px:表示元素的最小高度為768像素,即其父元素的最小高度為768像素。
cursor: default:表示元素的光標(biāo)樣式為默認(rèn)值,即不設(shè)置光標(biāo)樣式。
通過這些屬性的組合,可以定義一個(gè)具有相對(duì)定位、高度為100%、寬度為100%的元素,并且具有默認(rèn)的光標(biāo)樣式。

?JavaScript

JavaScript(簡稱“JS”)是一種具有函數(shù)優(yōu)先的輕量級(jí),解釋型或即時(shí)編譯型的編程語言。它由Netscape公司的Brendan Eich在1995年首次設(shè)計(jì)實(shí)現(xiàn),并被廣泛用于Web瀏覽器中。

JavaScript 的語法基于原型編程、多范式的動(dòng)態(tài)腳本語言,并且支持面向?qū)ο?、命令式、聲明式、函?shù)式編程范式。它的標(biāo)準(zhǔn)是ECMAScript,截至 2012 年,所有瀏覽器都完整的支持ECMAScript 5.1,舊版本的瀏覽器至少支持ECMAScript 3 標(biāo)準(zhǔn)。

JavaScript 的基本語法包括變量、函數(shù)、對(duì)象、數(shù)組和閉包等。變量用于存儲(chǔ)數(shù)據(jù),函數(shù)用于實(shí)現(xiàn)邏輯,對(duì)象用于封裝數(shù)據(jù)和方法,數(shù)組用于存儲(chǔ)數(shù)據(jù)或?qū)ο?,閉包用于重寫函數(shù)或方法并在其中使用變量。

JavaScript 的內(nèi)置對(duì)象包括函數(shù)、數(shù)組、對(duì)象、字符串、正則表達(dá)式和函數(shù)等。它還支持ES6中的class和const,以及新增的let和const`。ES7引入了let,const和rest/spread等語法。

JavaScript 的作用域鏈機(jī)制使代碼可以在不同的作用域中安全地執(zhí)行。它還支持事件處理、DOM操作、模塊化等功能。JavaScript 已經(jīng)廣泛應(yīng)用于Web瀏覽器、移動(dòng)應(yīng)用、游戲開發(fā)等領(lǐng)域。

JavaScript通常是以單獨(dú)文件加載的,后綴是.js。

綜上所述,HTML定義了網(wǎng)頁的內(nèi)容和結(jié)構(gòu),CSS描述了網(wǎng)頁的樣式,JavaScript定義了網(wǎng)頁的行為。

??2.網(wǎng)頁的結(jié)構(gòu)

下面我們看一個(gè)示例代碼。

<!DOCTYPE html>  
<html>  
<head>  
<title>網(wǎng)頁標(biāo)題</title>  
<meta charset="UTF-8">  
<meta name="viewport" content="width=device-width, initial-scale=1.0">  
<link rel="stylesheet" href="styles.css" rel="external nofollow" >  
</head>  
<body>  
<header>  
<nav>  
<ul>  
<li><a href="#" rel="external nofollow"  rel="external nofollow"  rel="external nofollow" >導(dǎo)航鏈接1</a></li>  
<li><a href="#" rel="external nofollow"  rel="external nofollow"  rel="external nofollow" >導(dǎo)航鏈接2</a></li>  
<li><a href="#" rel="external nofollow"  rel="external nofollow"  rel="external nofollow" >導(dǎo)航鏈接3</a></li>  
</ul>  
</nav>  
</header>  
<main>  
<h1>網(wǎng)頁標(biāo)題</h1>  
<p>這是一個(gè)段落。</p>  
<ul>  
<li>列表項(xiàng)1</li>  
<li>列表項(xiàng)2</li>  
<li>列表項(xiàng)3</li>  
</ul>  
</main>  
<footer>  
<p>版權(quán)信息</p>  
</footer>  
</body>  
</html>

這個(gè)示例中,<!DOCTYPE html> 聲明了這是一個(gè) HTML5 文檔,<html> 標(biāo)簽定義了文檔的根元素,<head> 標(biāo)簽包含了文檔的元數(shù)據(jù),如標(biāo)題、字符集、視口等。<title> 標(biāo)簽定義了文檔的標(biāo)題,<meta charset="UTF-8"> 和 <meta name="viewport"> 標(biāo)簽定義了文檔的字符集和視口。<link> 標(biāo)簽定義了文檔的樣式表,<nav> 標(biāo)簽定義了文檔的導(dǎo)航鏈接,<ul> 標(biāo)簽定義了文檔的列表項(xiàng),<li> 標(biāo)簽定義了文檔的列表項(xiàng)。<h1> 標(biāo)簽定義了文檔的標(biāo)題,<p> 標(biāo)簽定義了文檔的段落。<footer> 標(biāo)簽定義了文檔的版權(quán)信息。

這只是一個(gè)簡單的示例,實(shí)際的HTML結(jié)構(gòu)可能更加復(fù)雜。在編寫網(wǎng)頁時(shí),需要根據(jù)具體的需求和目標(biāo),選擇合適的HTML標(biāo)簽和樣式表,并進(jìn)行適當(dāng)?shù)呐虐婧筒季帧?/p>

??3.節(jié)點(diǎn)樹和節(jié)點(diǎn)間的關(guān)系

節(jié)點(diǎn)樹(Node Tree)是一個(gè)樹形數(shù)據(jù)結(jié)構(gòu),它通過節(jié)點(diǎn)的組合來表示數(shù)據(jù),節(jié)點(diǎn)通過節(jié)點(diǎn)之間的關(guān)系來表示數(shù)據(jù)之間的層次結(jié)構(gòu)。節(jié)點(diǎn)樹可以用來實(shí)現(xiàn)各種數(shù)據(jù)的組織和管理,例如數(shù)據(jù)庫中的表,文件系統(tǒng)中的文件,以及各種應(yīng)用程序中的數(shù)據(jù)模型。

節(jié)點(diǎn)間的關(guān)系通常通過以下方式表示:

  1. 樹形結(jié)構(gòu):節(jié)點(diǎn)之間通過樹形結(jié)構(gòu)連接,節(jié)點(diǎn)的父節(jié)點(diǎn)通過右子節(jié)點(diǎn)連接,左子節(jié)點(diǎn)連接到根節(jié)點(diǎn)。
  2. 節(jié)點(diǎn)的層次結(jié)構(gòu):節(jié)點(diǎn)根據(jù)其父節(jié)點(diǎn)的層次結(jié)構(gòu)來確定其位置。例如,一個(gè)節(jié)點(diǎn)的父節(jié)點(diǎn)是其子節(jié)點(diǎn)的父節(jié)點(diǎn),其子節(jié)點(diǎn)是其左右子節(jié)點(diǎn)。
  3. 節(jié)點(diǎn)的繼承關(guān)系:節(jié)點(diǎn)之間存在繼承關(guān)系,即子節(jié)點(diǎn)繼承其父節(jié)點(diǎn)的屬性和關(guān)系。
  4. 節(jié)點(diǎn)的屬性和關(guān)系:節(jié)點(diǎn)可以有屬性和關(guān)系,屬性用于描述節(jié)點(diǎn)的基本信息,例如名稱、類型、值等。關(guān)系用于描述節(jié)點(diǎn)之間的關(guān)系,例如父子關(guān)系、層級(jí)關(guān)系等。
  5. 節(jié)點(diǎn)的遍歷:節(jié)點(diǎn)樹可以通過遍歷來訪問和修改節(jié)點(diǎn)的屬性和關(guān)系。例如,可以通過遞歸遍歷來查找節(jié)點(diǎn)的子節(jié)點(diǎn)和父節(jié)點(diǎn),可以通過深度優(yōu)先搜索遍歷整個(gè)樹。

下面我們一個(gè)示意圖,一目了然。

??4.選擇器

我們知道網(wǎng)頁由一個(gè)個(gè)節(jié)點(diǎn)組成,CSs 選擇器會(huì)根據(jù)不同的節(jié)點(diǎn)設(shè)置不同的樣式規(guī)則,那么怎樣來定位節(jié)點(diǎn)呢?

在 Css 中,我們使用 CSS 選擇器來定位節(jié)點(diǎn)。

CSS選擇器是用于在HTML文檔中選擇元素的語言。CSS選擇器是一種用于選擇HTML元素的語言,它可以用于創(chuàng)建樣式表,并將樣式應(yīng)用于HTML元素。

CSS選擇器通常由一個(gè)或多個(gè)關(guān)鍵字組成,這些關(guān)鍵字用于指定選擇器的類型。例如,div選擇器用于選擇所有具有div類的元素,a選擇器用于選擇所有具有a類的元素,img選擇器用于選擇所有具有img類的元素等。

CSS選擇器可以使用通配符來匹配多個(gè)類型的元素。例如,div, a, img可以匹配所有具有這些類型的元素。

CSS選擇器還可以使用偽類來創(chuàng)建更復(fù)雜的選擇器。例如,:hover偽類用于在鼠標(biāo)懸停在元素上時(shí)應(yīng)用樣式,:focus偽類用于在元素上聚焦時(shí)應(yīng)用樣式等。

CSS選擇器可以嵌套使用,以創(chuàng)建更復(fù)雜的選擇器。例如,div:hover a可以選擇所有具有a類的元素,div:focus a可以選擇所有具有a類的元素,并在鼠標(biāo)懸停和聚焦時(shí)應(yīng)用樣式。

總之,CSS選擇器是一種用于在HTML文檔中選擇元素的語言,它可以用于創(chuàng)建樣式表,并將樣式應(yīng)用于HTML元素。

另外,還有一種比較常用的選擇器是 XPath 選擇器,這種選擇方式后面會(huì)詳細(xì)介紹。

??5.總結(jié)

本節(jié)介紹了網(wǎng)頁的基本結(jié)構(gòu)和節(jié)點(diǎn)間的關(guān)系,了解了這些內(nèi)容,我們才有更加清晰的思路去解析和提取網(wǎng)頁內(nèi)容。

到此這篇關(guān)于Python網(wǎng)絡(luò)爬蟲之Web網(wǎng)頁基礎(chǔ)的文章就介紹到這了,更多相關(guān)Python Web網(wǎng)頁基礎(chǔ)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python 中的字符串基礎(chǔ)與應(yīng)用小結(jié)

    Python 中的字符串基礎(chǔ)與應(yīng)用小結(jié)

    在Python中,字符串可以用單引號(hào)或雙引號(hào)括起來,'hello' 與 "hello" 是相同的,這篇文章主要介紹了Python 中的字符串基礎(chǔ)與應(yīng)用,需要的朋友可以參考下
    2023-09-09
  • Python實(shí)現(xiàn)生成簡單的Makefile文件代碼示例

    Python實(shí)現(xiàn)生成簡單的Makefile文件代碼示例

    這篇文章主要介紹了Python實(shí)現(xiàn)生成簡單的Makefile文件代碼示例,本文給出了兩段實(shí)現(xiàn)代碼,需要的朋友可以參考下
    2015-03-03
  • Python retrying 重試機(jī)制的使用方法

    Python retrying 重試機(jī)制的使用方法

    我們?cè)诔绦蜷_發(fā)中,經(jīng)常會(huì)需要請(qǐng)求一些外部的接口資源,而且我們不能保證每次請(qǐng)求一定會(huì)成功,所以這些涉及到網(wǎng)絡(luò)請(qǐng)求的代碼片段就需要加上重試機(jī)制。本文就來詳細(xì)的介紹一下,感興趣的可以了解一下
    2021-09-09
  • PyQt子線程處理業(yè)務(wù)事件的問題解決

    PyQt子線程處理業(yè)務(wù)事件的問題解決

    在PyQt中,主線程通常是指GUI主循環(huán)所在的線程,而子線程則是執(zhí)行實(shí)際工作的線程,本文主要介紹了PyQt子線程處理業(yè)務(wù)事件的問題解決,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-02-02
  • django如何自定義manage.py管理命令

    django如何自定義manage.py管理命令

    這篇文章主要介紹了django如何自定義manage.py管理命令,幫助大家更好的理解和學(xué)習(xí)使用django框架,感興趣的朋友可以了解下
    2021-04-04
  • python MNIST手寫識(shí)別數(shù)據(jù)調(diào)用API的方法

    python MNIST手寫識(shí)別數(shù)據(jù)調(diào)用API的方法

    這篇文章主要介紹了python MNIST手寫識(shí)別數(shù)據(jù)調(diào)用API的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-08-08
  • 如何通過python畫loss曲線的方法

    如何通過python畫loss曲線的方法

    這篇文章主要介紹了如何通過python畫loss曲線的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • pytorch的梯度計(jì)算以及backward方法詳解

    pytorch的梯度計(jì)算以及backward方法詳解

    今天小編就為大家分享一篇pytorch的梯度計(jì)算以及backward方法詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • 用Python從0開始實(shí)現(xiàn)一個(gè)中文拼音輸入法的思路詳解

    用Python從0開始實(shí)現(xiàn)一個(gè)中文拼音輸入法的思路詳解

    中文輸入法是一個(gè)歷史悠久的問題,但也實(shí)在是個(gè)繁瑣的活,不知道這是不是網(wǎng)上很少有人分享中文拼音輸入法的原因,接下來通過本文給大家分享使用Python從0開始實(shí)現(xiàn)一個(gè)中文拼音輸入法,需要的朋友可以參考下
    2019-07-07
  • Python如何使用正則表達(dá)式爬取京東商品信息

    Python如何使用正則表達(dá)式爬取京東商品信息

    這篇文章主要介紹了Python如何使用正則表達(dá)式爬取京東商品信息,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06

最新評(píng)論

武穴市| 淄博市| 得荣县| 奉新县| 铅山县| 阿拉善左旗| 金堂县| 彭州市| 元朗区| 仙居县| 西安市| 卫辉市| 普兰店市| 四会市| 同德县| 宁化县| 靖州| 伊宁县| 伊金霍洛旗| 博白县| 张掖市| 隆林| 崇文区| 奉化市| 邛崃市| 定陶县| 临清市| 温泉县| 镇坪县| 永善县| 瓦房店市| 屯留县| 额敏县| 天全县| 依兰县| 河津市| 华阴市| 洮南市| 桓仁| 罗定市| 兴宁市|