摘要:,簡(jiǎn)稱為,是一種腳本語(yǔ)言,和配合使用,提供給用戶的只是一種靜態(tài)的信息,缺少交互性。這就是網(wǎng)頁(yè)的三大基本組成。父節(jié)點(diǎn)擁有子節(jié)點(diǎn),同級(jí)的子節(jié)點(diǎn)被稱為兄弟節(jié)點(diǎn)。選擇屬于其父節(jié)點(diǎn)的首個(gè)節(jié)點(diǎn)的每個(gè)節(jié)點(diǎn)。同上,從最后一個(gè)
上一篇文章:Python3網(wǎng)絡(luò)爬蟲(chóng)實(shí)戰(zhàn)---15、爬蟲(chóng)基礎(chǔ):HTTP基本原理
下一篇文章:Python3網(wǎng)絡(luò)爬蟲(chóng)實(shí)戰(zhàn)---17、爬蟲(chóng)基本原理
我們平時(shí)用瀏覽器訪問(wèn)網(wǎng)站的時(shí)候,一個(gè)個(gè)站點(diǎn)形形色色,頁(yè)面也各不相同,但有沒(méi)有想過(guò)它是為何才能呈現(xiàn)出這個(gè)樣子的?
那么本節(jié)我們就來(lái)了解一下網(wǎng)頁(yè)的基本組成、結(jié)構(gòu)、節(jié)點(diǎn)等內(nèi)容。
網(wǎng)頁(yè)可以分為三大部分,HTML、CSS、JavaScript,我們把網(wǎng)頁(yè)比作一個(gè)人的話,HTML 相當(dāng)于骨架,JavaScript 則相當(dāng)于肌肉,CSS 則相當(dāng)于皮膚,三者結(jié)合起來(lái)才能形成一個(gè)完善的網(wǎng)頁(yè),下面我們分別來(lái)介紹一下三部分的功能。
HTMLHTML 是用來(lái)描述網(wǎng)頁(yè)的一種語(yǔ)言,其全稱叫做 Hyper Text Markup Language,即超文本標(biāo)記語(yǔ)言。網(wǎng)頁(yè)包括文字、按鈕、圖片、視頻等各種復(fù)雜的元素,其基礎(chǔ)架構(gòu)就是 HTML。不同類型的文字通過(guò)不同類型的標(biāo)簽來(lái)表示,如圖片用 img 標(biāo)簽表示,視頻用 video 標(biāo)簽來(lái)表示,段落用 p 標(biāo)簽來(lái)表示,它們之間的布局又常通過(guò)布局標(biāo)簽 div 嵌套組合而成,各種標(biāo)簽通過(guò)不同的排列和嵌套才形成了網(wǎng)頁(yè)的框架。
我們?cè)?Chrome 瀏覽器中打開(kāi)百度,右鍵單擊審查元素或按 F12 打開(kāi)開(kāi)發(fā)者模式,切換到 Elements 選項(xiàng)卡即可看到網(wǎng)頁(yè)的源代碼,如圖 2-10 所示:
圖 2-10 源代碼
這就是 HTML,整個(gè)網(wǎng)頁(yè)就是由各種不同的標(biāo)簽嵌套組合而成的,這些不同標(biāo)簽定義的節(jié)點(diǎn)元素相互嵌套和組合形成了復(fù)雜的層次關(guān)系,就形成了網(wǎng)頁(yè)的架構(gòu)。
HTML 定義了網(wǎng)頁(yè)的結(jié)構(gòu),但是只有 HTML 頁(yè)面的布局會(huì)不美觀,可能只是簡(jiǎn)單的節(jié)點(diǎn)元素的排列,那么為了讓網(wǎng)頁(yè)看起來(lái)更好看一點(diǎn),在這里就借助于 CSS。
CSS,全稱叫做 Cascading Style Sheets,即層疊樣式表。“層疊”是指當(dāng)在 HTML 中引用了數(shù)個(gè)樣式文件,并且樣式發(fā)生沖突時(shí),瀏覽器能依據(jù)層疊順序處理。“樣式”指網(wǎng)頁(yè)中文字大小、顏色、元素間距、排列等格式。
CSS是目前唯一的網(wǎng)頁(yè)頁(yè)面排版樣式標(biāo)準(zhǔn),有了它的幫助,頁(yè)面才會(huì)變得更為美觀。
在上圖的右側(cè)即為 CSS,例如:
#head_wrapper.s-ps-islite .s-p-top { ??? position: absolute; ??? bottom: 40px; ??? width: 100%; ??? height: 181px; }
這就是一個(gè) CSS 樣式,在大括號(hào)前面是一個(gè) CSS 選擇器,此選擇器的意思是選中 id 為 head_wrapper 且 class 為 s-ps-islite 內(nèi)部的 class 為 s-p-top 的元素。大括號(hào)內(nèi)部寫(xiě)的就是一條條樣式規(guī)則,例如 position 指定了這個(gè)元素的布局方式為絕對(duì)布局,bottom 指定元素的下邊距為 40 像素,width 指定了寬度為 100% 占滿父元素,height 則指定了元素的高度。也就是說(shuō)我們將一些位置、寬度、高度等樣式配置統(tǒng)一寫(xiě)成這樣的形式,大括號(hào)括起來(lái),然后開(kāi)頭再加上一個(gè) CSS 選擇器,就代表這一個(gè)樣式對(duì) CSS 選擇器選中的元素生效,這樣元素就會(huì)根據(jù)此樣式來(lái)展示了。
所以在網(wǎng)頁(yè)中,一般會(huì)統(tǒng)一定義整個(gè)網(wǎng)頁(yè)的樣式規(guī)則,寫(xiě)入到 CSS 文件,其后綴名為 css,在 HTML 中只需要用 link 標(biāo)簽即可引入寫(xiě)好的 CSS 文件,這樣整個(gè)頁(yè)面就會(huì)變得美觀優(yōu)雅。
JavaScript,簡(jiǎn)稱為 JS,是一種腳本語(yǔ)言,HTML 和 CSS 配合使用,提供給用戶的只是一種靜態(tài)的信息,缺少交互性。我們?cè)诰W(wǎng)頁(yè)里可能會(huì)看到一些交互和動(dòng)畫(huà)效果,如下載進(jìn)度條、提示框、輪播圖等,這通常就是 JavaScript 的功勞。它的出現(xiàn)使得用戶與信息之間不只是一種瀏覽與顯示的關(guān)系,而是實(shí)現(xiàn)了一種實(shí)時(shí)、動(dòng)態(tài)、交互的頁(yè)面功能。
JavaScript 通常也是以多帶帶的文件形式加載的,后綴名為 js,在 HTML 中通過(guò) script 標(biāo)簽即可引入。
例如:
因此綜上所屬,HTML 定義了網(wǎng)頁(yè)的內(nèi)容和結(jié)構(gòu),CSS 描述了網(wǎng)頁(yè)的布局,JavaScript 定義了網(wǎng)頁(yè)的行為。
這就是網(wǎng)頁(yè)的三大基本組成。
我們首先用一個(gè)例子來(lái)感受一下 HTML 的基本結(jié)構(gòu)。新建一個(gè)文本文件,名稱可以自取,后綴名為 html,內(nèi)容如下:
This is a Demo Hello World
Hello, this is a paragraph.
這就是一個(gè)最簡(jiǎn)單的 HTML 實(shí)例,開(kāi)頭是 DOCTYPE 定義了文檔類型,其次最外層是 html 標(biāo)簽,最后還有對(duì)應(yīng)的結(jié)尾代表標(biāo)簽閉合,其內(nèi)部是 head 標(biāo)簽和 body 標(biāo)簽,分別代表網(wǎng)頁(yè)頭和網(wǎng)頁(yè)體,它們也分別需要尾標(biāo)簽表示閉合。head 標(biāo)簽內(nèi)定義了一些頁(yè)面的配置和引用,如:
它指定了網(wǎng)頁(yè)的編碼為 UTF-8。
title 標(biāo)簽則定義了網(wǎng)頁(yè)的標(biāo)題,會(huì)顯示在網(wǎng)頁(yè)的選項(xiàng)卡中,不會(huì)顯示在網(wǎng)頁(yè)的正文中。body 標(biāo)簽內(nèi)則是在網(wǎng)頁(yè)正文中顯示的內(nèi)容,div 標(biāo)簽定義了網(wǎng)頁(yè)中的區(qū)塊,它的 id 是 container,這是一個(gè)非常常用的屬性,且 id 的內(nèi)容在網(wǎng)頁(yè)中是唯一的,我們可以通過(guò) id 來(lái)取到這個(gè)區(qū)塊。然后在此區(qū)塊內(nèi)又有一個(gè) div 標(biāo)簽,它的 class 為 wrapper,這也是一個(gè)非常常用的屬性,經(jīng)常與 CSS 配合使用來(lái)設(shè)定樣式。然后此區(qū)塊內(nèi)部又有一個(gè) h2 標(biāo)簽,這代表一個(gè)二級(jí)標(biāo)題,另外還有一個(gè) p 標(biāo)簽,這代表一個(gè)段落,它們二者內(nèi)部直接寫(xiě)入相應(yīng)的內(nèi)容即可在網(wǎng)頁(yè)重呈現(xiàn)出來(lái),它們也有各自的 class 屬性。
我們將代碼保存之后在瀏覽器中打開(kāi)該文件,可以看到如下內(nèi)容,如圖 2-11 所示:
圖 2-11 運(yùn)行結(jié)果
可以看到在選項(xiàng)卡上顯示了 This is a Demo 字樣,這是我們?cè)?head 里面的 title 里定義的文字,它顯示在了網(wǎng)頁(yè)選項(xiàng)卡里。而網(wǎng)頁(yè)正文是 body 標(biāo)簽內(nèi)部定義的各個(gè)元素生成的,圖中可以看到網(wǎng)頁(yè)中顯示了二級(jí)標(biāo)題和段落。
如上實(shí)例便是網(wǎng)頁(yè)的一般結(jié)構(gòu),一個(gè)網(wǎng)頁(yè)標(biāo)準(zhǔn)形式都是 html 標(biāo)簽內(nèi)嵌套 head 和 body 標(biāo)簽,head 內(nèi)定義網(wǎng)頁(yè)的配置和引用,body 內(nèi)定義網(wǎng)頁(yè)的正文。
在 HTML 中,所有標(biāo)簽定義的內(nèi)容都是節(jié)點(diǎn),它們構(gòu)成了一個(gè) HTML DOM 樹(shù)。
我們先看下什么是 DOM,DOM 是 W3C(萬(wàn)維網(wǎng)聯(lián)盟)的標(biāo)準(zhǔn)。
DOM,英文全稱 Document Object Model,即文檔對(duì)象模型。它定義了訪問(wèn) HTML 和 XML 文檔的標(biāo)準(zhǔn):
W3C 文檔對(duì)象模型 (DOM) 是中立于平臺(tái)和語(yǔ)言的接口,它允許程序和腳本動(dòng)態(tài)地訪問(wèn)和更新文檔的內(nèi)容、結(jié)構(gòu)和樣式。
W3C DOM 標(biāo)準(zhǔn)被分為 3 個(gè)不同的部分:
核心 DOM - 針對(duì)任何結(jié)構(gòu)化文檔的標(biāo)準(zhǔn)模型
XML DOM - 針對(duì) XML 文檔的標(biāo)準(zhǔn)模型
HTML DOM - 針對(duì) HTML 文檔的標(biāo)準(zhǔn)模型
根據(jù) W3C 的 HTML DOM 標(biāo)準(zhǔn),HTML 文檔中的所有內(nèi)容都是節(jié)點(diǎn):
整個(gè)文檔是一個(gè)文檔節(jié)點(diǎn)
每個(gè) HTML 元素是元素節(jié)點(diǎn)
HTML 元素內(nèi)的文本是文本節(jié)點(diǎn)
每個(gè) HTML 屬性是屬性節(jié)點(diǎn)注釋是
注釋節(jié)點(diǎn)HTML
DOM 將 HTML 文檔視作樹(shù)結(jié)構(gòu),這種結(jié)構(gòu)被稱為節(jié)點(diǎn)樹(shù),如圖 2-12 所示:
圖 2-12 節(jié)點(diǎn)樹(shù)
通過(guò) HTML DOM,樹(shù)中的所有節(jié)點(diǎn)均可通過(guò) JavaScript 進(jìn)行訪問(wèn),所有 HTML 節(jié)點(diǎn)元素均可被修改,也可以被創(chuàng)建或刪除。
節(jié)點(diǎn)樹(shù)中的節(jié)點(diǎn)彼此擁有層級(jí)關(guān)系。我們常用 parent(父)、child(子)和 sibling(兄弟)等術(shù)語(yǔ)用于描述這些關(guān)系。父節(jié)點(diǎn)擁有子節(jié)點(diǎn),同級(jí)的子節(jié)點(diǎn)被稱為兄弟節(jié)點(diǎn)。
在節(jié)點(diǎn)樹(shù)中,頂端節(jié)點(diǎn)被稱為根(root),除了根節(jié)點(diǎn)之外每個(gè)節(jié)點(diǎn)都有父節(jié)點(diǎn),同時(shí)可擁有任意數(shù)量的子節(jié)點(diǎn)或兄弟節(jié)點(diǎn)。
圖 2-13 展示了節(jié)點(diǎn)樹(shù)以及節(jié)點(diǎn)之間的關(guān)系:
圖 2-13 節(jié)點(diǎn)樹(shù)及節(jié)點(diǎn)關(guān)系
本段參考 W3SCHOOL,鏈接:http://www.w3school.com.cn/ht...。
我們知道網(wǎng)頁(yè)由一個(gè)個(gè)節(jié)點(diǎn)組成,CSS 選擇器會(huì)根據(jù)不同的節(jié)點(diǎn)設(shè)置不同的樣式規(guī)則,那么我們?cè)鯓觼?lái)定義是哪些節(jié)點(diǎn)呢?
在 CSS 中是使用了 CSS 選擇器來(lái)定位節(jié)點(diǎn)的,例如上例中有個(gè) div 節(jié)點(diǎn)的 id 為 container,那么我們就可以用 CSS 選擇器表示為 #container,# 開(kāi)頭代表選擇 id,其后緊跟 id 的名稱。另外如果我們想選擇 class 為 wrapper 的節(jié)點(diǎn),便可以使用 .wrapper,. 開(kāi)頭代表選擇 class,其后緊跟 class 的名稱。另外還有一種選擇方式是根據(jù)標(biāo)簽名篩選,例如我們想選擇二級(jí)標(biāo)題,直接用 h2 即可選擇。如上是最常用的三種選擇表示,分別是根據(jù) id、class、標(biāo)簽名篩選,請(qǐng)牢記它們的寫(xiě)法。
另外 CSS 選擇器還支持嵌套選擇,各個(gè)選擇器之間加上空格分隔開(kāi)便可以代表嵌套關(guān)系,如 #container .wrapper p 則代表選擇 id 為 container 內(nèi)部的 class 為 wrapper 內(nèi)部的 p 節(jié)點(diǎn)。另外如果不加空格則代表并列關(guān)系,如 div#container .wrapper p.text 代表選擇 id 為 container 的 div 節(jié)點(diǎn)內(nèi)部的 class 為 wrapper 節(jié)點(diǎn)內(nèi)部的 class 為 text 的 p 節(jié)點(diǎn)。這就是 CSS 選擇器,其篩選功能還是非常強(qiáng)大的。
另外 CSS 選擇器還有一些其他的語(yǔ)法規(guī)則,在這里整理如下:
選擇器 | 例子 | 例子描述 |
---|---|---|
.class | .intro | 選擇 class="intro" 的所有節(jié)點(diǎn)。 |
#id | #firstname | 選擇 id="firstname" 的所有節(jié)點(diǎn)。 |
* | * | 選擇所有節(jié)點(diǎn)。 |
element | p | 選擇所有 p 節(jié)點(diǎn)。 |
element,element | div,p | 選擇所有 div 節(jié)點(diǎn)和所有 p 節(jié)點(diǎn)。 |
element element | div p | 選擇 div 節(jié)點(diǎn)內(nèi)部的所有 p 節(jié)點(diǎn)。 |
element>element | div>p | 選擇父節(jié)點(diǎn)為 div 節(jié)點(diǎn)的所有 p 節(jié)點(diǎn)。 |
element+element | div+p | 選擇緊接在 div 節(jié)點(diǎn)之后的所有 p 節(jié)點(diǎn)。 |
[attribute] | [target] | 選擇帶有 target 屬性所有節(jié)點(diǎn)。 |
[attribute=value] | [target=blank] | 選擇 target="blank" 的所有節(jié)點(diǎn)。 |
[attribute~=value] | [title~=flower] | 選擇 title 屬性包含單詞 "flower" 的所有節(jié)點(diǎn)。 |
:link | a:link | 選擇所有未被訪問(wèn)的鏈接。 |
:visited | a:visited | 選擇所有已被訪問(wèn)的鏈接。 |
:active | a:active | 選擇活動(dòng)鏈接。 |
:hover | a:hover | 選擇鼠標(biāo)指針位于其上的鏈接。 |
:focus | input:focus | 選擇獲得焦點(diǎn)的 input 節(jié)點(diǎn)。 |
:first-letter | p:first-letter | 選擇每個(gè) p 節(jié)點(diǎn)的首字母。 |
:first-line | p:first-line | 選擇每個(gè) p 節(jié)點(diǎn)的首行。 |
:first-child | p:first-child | 選擇屬于父節(jié)點(diǎn)的第一個(gè)子節(jié)點(diǎn)的每個(gè) p 節(jié)點(diǎn)。 |
:before | p:before | 在每個(gè) p 節(jié)點(diǎn)的內(nèi)容之前插入內(nèi)容。 |
:after | p:after | 在每個(gè) p 節(jié)點(diǎn)的內(nèi)容之后插入內(nèi)容。 |
:lang(language) | p:lang | 選擇帶有以 "it" 開(kāi)頭的 lang 屬性值的每個(gè) p 節(jié)點(diǎn)。 |
element1~element2 | p~ul | 選擇前面有 p 節(jié)點(diǎn)的每個(gè) ul 節(jié)點(diǎn)。 |
[attribute^=value] | a[src^="https"] | 選擇其 src 屬性值以 "https" 開(kāi)頭的每個(gè) a 節(jié)點(diǎn)。 |
[attribute$=value] | a[src$=".pdf"] | 選擇其 src 屬性以 ".pdf" 結(jié)尾的所有 a 節(jié)點(diǎn)。 |
[attribute*=value] | a[src*="abc"] | 選擇其 src 屬性中包含 "abc" 子串的每個(gè) a 節(jié)點(diǎn)。 |
:first-of-type | p:first-of-type | 選擇屬于其父節(jié)點(diǎn)的首個(gè) p 節(jié)點(diǎn)的每個(gè) p 節(jié)點(diǎn)。 |
:last-of-type | p:last-of-type | 選擇屬于其父節(jié)點(diǎn)的最后 p 節(jié)點(diǎn)的每個(gè) p 節(jié)點(diǎn)。 |
:only-of-type | p:only-of-type | 選擇屬于其父節(jié)點(diǎn)唯一的 p 節(jié)點(diǎn)的每個(gè) p 節(jié)點(diǎn)。 |
:only-child | p:only-child | 選擇屬于其父節(jié)點(diǎn)的唯一子節(jié)點(diǎn)的每個(gè) p 節(jié)點(diǎn)。 |
:nth-child(n) | p:nth-child | 選擇屬于其父節(jié)點(diǎn)的第二個(gè)子節(jié)點(diǎn)的每個(gè) p 節(jié)點(diǎn)。 |
:nth-last-child(n) | p:nth-last-child | 同上,從最后一個(gè)子節(jié)點(diǎn)開(kāi)始計(jì)數(shù)。 |
:nth-of-type(n) | p:nth-of-type | 選擇屬于其父節(jié)點(diǎn)第二個(gè) p 節(jié)點(diǎn)的每個(gè) p 節(jié)點(diǎn)。 |
:nth-last-of-type(n) | p:nth-last-of-type | 同上,但是從最后一個(gè)子節(jié)點(diǎn)開(kāi)始計(jì)數(shù)。 |
:last-child | p:last-child | 選擇屬于其父節(jié)點(diǎn)最后一個(gè)子節(jié)點(diǎn)每個(gè) p 節(jié)點(diǎn)。 |
:root | :root | 選擇文檔的根節(jié)點(diǎn)。 |
:empty | p:empty | 選擇沒(méi)有子節(jié)點(diǎn)的每個(gè) p 節(jié)點(diǎn)(包括文本節(jié)點(diǎn))。 |
:target | #news:target | 選擇當(dāng)前活動(dòng)的 #news 節(jié)點(diǎn)。 |
:enabled | input:enabled | 選擇每個(gè)啟用的 input 節(jié)點(diǎn)。 |
:disabled | input:disabled | 選擇每個(gè)禁用的 input 節(jié)點(diǎn) |
:checked | input:checked | 選擇每個(gè)被選中的 input 節(jié)點(diǎn)。 |
:not(selector) | p:not | 選擇非 p 節(jié)點(diǎn)的每個(gè)節(jié)點(diǎn)。 |
::selection | ::selection | 選擇被用戶選取的節(jié)點(diǎn)部分。 |
另外還有一種比較常用的選擇器是 XPath,此種選擇方式在后文會(huì)詳細(xì)介紹。
5. 結(jié)語(yǔ)本節(jié)介紹了網(wǎng)頁(yè)的基本結(jié)構(gòu)和節(jié)點(diǎn)關(guān)系,了解了這些內(nèi)容我們才有更加清晰的思路去解析和提取網(wǎng)頁(yè)內(nèi)容。
上一篇文章:Python3網(wǎng)絡(luò)爬蟲(chóng)實(shí)戰(zhàn)---15、爬蟲(chóng)基礎(chǔ):HTTP基本原理
下一篇文章:Python3網(wǎng)絡(luò)爬蟲(chóng)實(shí)戰(zhàn)---17、爬蟲(chóng)基本原理
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/44052.html
摘要:在前面我們講到了和的概念,我們向網(wǎng)站的服務(wù)器發(fā)送一個(gè),返回的的便是網(wǎng)頁(yè)源代碼。渲染頁(yè)面有時(shí)候我們?cè)谟没蜃ト【W(wǎng)頁(yè)時(shí),得到的源代碼實(shí)際和瀏覽器中看到的是不一樣的。所以使用基本請(qǐng)求庫(kù)得到的結(jié)果源代碼可能跟瀏覽器中的頁(yè)面源代碼不太一樣。 上一篇文章:Python3網(wǎng)絡(luò)爬蟲(chóng)實(shí)戰(zhàn)---16、Web網(wǎng)頁(yè)基礎(chǔ)下一篇文章:Python3網(wǎng)絡(luò)爬蟲(chóng)實(shí)戰(zhàn)---18、Session和Cookies 爬蟲(chóng),即網(wǎng)...
摘要:上一篇文章網(wǎng)絡(luò)爬蟲(chóng)實(shí)戰(zhàn)部署相關(guān)庫(kù)的安裝下一篇文章網(wǎng)絡(luò)爬蟲(chóng)實(shí)戰(zhàn)網(wǎng)頁(yè)基礎(chǔ)在寫(xiě)爬蟲(chóng)之前,還是需要了解一些爬蟲(chóng)的基礎(chǔ)知識(shí),如原理網(wǎng)頁(yè)的基礎(chǔ)知識(shí)爬蟲(chóng)的基本原理基本原理等。由萬(wàn)維網(wǎng)協(xié)會(huì)和工作小組共同合作制定的規(guī)范,目前廣泛使用的是版本。 上一篇文章:Python3網(wǎng)絡(luò)爬蟲(chóng)實(shí)戰(zhàn)---14、部署相關(guān)庫(kù)的安裝:Scrapyrt、Gerapy下一篇文章:Python3網(wǎng)絡(luò)爬蟲(chóng)實(shí)戰(zhàn)---16、Web網(wǎng)頁(yè)基礎(chǔ)...
摘要:時(shí)間永遠(yuǎn)都過(guò)得那么快,一晃從年注冊(cè),到現(xiàn)在已經(jīng)過(guò)去了年那些被我藏在收藏夾吃灰的文章,已經(jīng)太多了,是時(shí)候把他們整理一下了。那是因?yàn)槭詹貖A太亂,橡皮擦給設(shè)置私密了,不收拾不好看呀。 ...
摘要:在本書(shū)中用到的一些服務(wù)程序主要有。本節(jié)來(lái)分別介紹它們的安裝方法。的安裝是一個(gè)輕量級(jí)的服務(wù)程序,簡(jiǎn)單易用靈活,在本書(shū)中我們主要用它來(lái)做一些服務(wù),本節(jié)我們來(lái)了解下它的安裝方式。相關(guān)鏈接官方文檔安裝執(zhí)行完畢之后即可完成安裝。 上一篇文章:Python3網(wǎng)絡(luò)爬蟲(chóng)實(shí)戰(zhàn)---5、存儲(chǔ)庫(kù)的安裝:PyMySQL、PyMongo、RedisPy、RedisDump下一篇文章:Python3網(wǎng)絡(luò)爬蟲(chóng)實(shí)戰(zhàn)-...
摘要:所以使用代理隱藏真實(shí)的,讓服務(wù)器誤以為是代理服務(wù)器的在請(qǐng)求自己。參考來(lái)源由于涉及到一些專業(yè)名詞知識(shí),本節(jié)的部分內(nèi)容參考來(lái)源如下代理服務(wù)器維基百科代理百度百科上一篇文章網(wǎng)絡(luò)爬蟲(chóng)實(shí)戰(zhàn)和下一篇文章網(wǎng)絡(luò)爬蟲(chóng)實(shí)戰(zhàn)使用發(fā)送請(qǐng)求 上一篇文章:Python3網(wǎng)絡(luò)爬蟲(chóng)實(shí)戰(zhàn)---18、Session和Cookies下一篇文章:Python3網(wǎng)絡(luò)爬蟲(chóng)實(shí)戰(zhàn)---20、使用Urllib:發(fā)送請(qǐng)求 我們?cè)谧雠老x(chóng)...
閱讀 1020·2021-11-22 14:56
閱讀 985·2021-11-11 16:54
閱讀 7745·2021-09-23 11:55
閱讀 3012·2021-09-22 15:57
閱讀 2795·2021-08-27 16:25
閱讀 673·2019-08-30 15:55
閱讀 1664·2019-08-30 15:43
閱讀 1596·2019-08-30 14:23