<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          10分鐘教你Python爬蟲(上)-- HTML和爬蟲基礎(chǔ)

          共 3651字,需瀏覽 8分鐘

           ·

          2020-02-03 23:22


          新年快樂



          各位看客老爺們,新年好。小瑋又來啦。這次給大家?guī)淼氖桥老x系列的第一課---HTML和爬蟲基礎(chǔ)。




          在最開始的時候,我們需要先了解一下什么是爬蟲。簡單地來說呢,爬蟲就是一個可以自動登陸網(wǎng)頁獲取網(wǎng)頁信息的程序。


          舉個例子來說,比如你想每天看到自己喜歡的新聞內(nèi)容,而不是各類新聞平臺給你推送的各種各樣的信息,你就可以寫一個爬蟲去爬取這些關(guān)鍵詞的內(nèi)容,使自己能夠按時獲得自己感興趣的內(nèi)容,等等。


          總的來說,爬蟲能用來進行數(shù)據(jù)監(jiān)控,數(shù)據(jù)收集,信息整合,資源采集。


          然后,我們一起來總結(jié)一下我們?yōu)g覽網(wǎng)頁的過程。


          1.輸入網(wǎng)址

          2.瀏覽器向DNS服務(wù)商發(fā)送請求?

          3.找對相應(yīng)服務(wù)器?

          4.服務(wù)器解析請求

          5.服務(wù)器處理請求得到最終結(jié)果發(fā)出去?

          6.瀏覽器解析返回的數(shù)據(jù)?

          7.展示給用戶。


          這些過程我們并不需要每個過程都十分了解,但是你需要知道在瀏覽服務(wù)器的過程之中,我們需要一個這樣的過程。下面給大家解釋一下每個步驟到底是干啥的。


          第一步很容易,就不多說了。我們從第二步開始,因為我們是通過這個瀏覽器訪問這個網(wǎng)址,我們就需要向DNS服務(wù)商發(fā)送一個請求,簡單來說,當(dāng)我們輸入一個域名的時候,我們需要一個中間的人幫我們?nèi)シ治鲞@個網(wǎng)址對應(yīng)的是哪一個IP地址下的服務(wù)器,然后找到相應(yīng)的服務(wù)器,當(dāng)服務(wù)器接收到我們的請求時,服務(wù)器就會解析一下我們的請求,在解析了之后,會將最終的結(jié)果反饋給我們。


          比如當(dāng)我們點擊支付,服務(wù)器會解析我們這個過程,然后把最終支付成功的結(jié)果反饋我們的瀏覽器,瀏覽器把這個數(shù)據(jù)進行渲染之后,再展示給我們。





          下面我們再來分析一下域名的問題。讓我們來看看這個域名??


          http://movie.douban.com/subject/4920389/?From=showing。


          這是我們打開豆瓣電影的某個電影以后,出現(xiàn)的網(wǎng)址。在這個網(wǎng)址里面,我們可以看到一級域名。怎么找到一級域名呢?很簡單,.com,.cn……之前的第一串單詞或者第一個單詞,就是我們的一級域名,在這個網(wǎng)址中,一級域名就是douban,那么douban的左邊是什么呢?沒錯,就是二級域名。


          只要你擁有了一個一級域名,那么二級域名是隨便你設(shè)置的,這里很多小伙伴就會提問了,怎么才能有一個一級域名呢?其實也很簡單,只需要前往阿里云等網(wǎng)站就可以購買一個域名了。


          466e9e157db5d4973b7a33e3dd45d95a.webp


          所以,在這個位置,你要尤為注意,一級域名是獨一無二的,但是二級域名是可以任意的,所以騙子通常會在二級域名上動手腳,大家一定要關(guān)注這一點,小心上當(dāng)受騙。

          ??

          那么后面的內(nèi)容是什么呢。/subject/4920389/?,其實類似文件夾一樣的東西,就是在我們二級域名以下的一些網(wǎng)址,那么問號以后是什么呢?就是一個網(wǎng)址參數(shù),如果我們前面的參數(shù)一樣,但是如果最后這個參數(shù)不一樣,有可能我們看到的網(wǎng)頁也不一樣。


          介紹完了這個,我們來研究研究爬蟲的策略,主要分為兩個:


          1. 從某個頁面開始不斷爬取頁面上的鏈接,主要分為深度優(yōu)先搜索和廣度優(yōu)先搜索兩種方法,這個不理解沒關(guān)系,在之后的數(shù)據(jù)結(jié)構(gòu)篇中我會給大家一一介紹


          2. 觀察網(wǎng)址的規(guī)律,這個很簡單,而且也是我們最常用的方法。我們在這里舉一個例子。


          http://xiaohua.zol.com.cn/lengxiaohua/2.htmlhttp://xiaohua.zol.com.cn/lengxiaohua/3.html


          看到上面這兩個網(wǎng)址的差別了嗎?對,就只是lengxiaohua/后面的數(shù)字不一樣,那么如果我要實現(xiàn)一面一面的搜索網(wǎng)站內(nèi)容,怎么辦?是不是直接更改/后面的數(shù)字就可以了?沒錯,就是這么簡單。





          然后,給大家介紹一下什么是前端什么是后端。簡單來說前端就是展示給我們看的,后端就是我們看不到的。


          舉個例子來說,你在論壇想發(fā)一個帖子,首先是把數(shù)據(jù)傳給后端,后端進行一些相應(yīng)的判斷和處理,然后展示在前端給大家看,這就是前端和后端。


          因為本篇推文我們的關(guān)注點是爬蟲,所以我們更多的是關(guān)注前端


          前端開發(fā)的工具,目前主流的是Chrome瀏覽器,當(dāng)然不是說別的瀏覽器不行這樣,因為現(xiàn)在大部分瀏覽器基本上都是從Chrome改造過來的,把Chrome的一些東西去掉,加上一些自己的東西這樣子,所以盡量用Chrome瀏覽器。


          然后前端主要有三個重要方面,HTML,CSS,Javascript,下面我們來分別了解一下這三個方面。


          c0f99b083d941e1e7ef8a652b9f59690.webp




          HTML的全稱是HyperText Markup Language,它是一個網(wǎng)頁的最基本要素,沒有HTML,整個網(wǎng)頁根本就沒有辦法展示,通過標(biāo)記語言的方式來組織內(nèi)容(文字,圖片,視頻)等等。


          比方說我們要在某個位置插入一段文字,某個位置插入一段視頻這樣子,下面就是一個網(wǎng)頁的HTML,想要看一個網(wǎng)頁的HTML也很簡單,右鍵點擊頁面,選擇檢查或者檢查源代碼就可以看到了。


          它一般分為head和body兩個部分,怎么分辨呢?也很簡單,,這些可以直接在網(wǎng)頁源代碼中看的見。一般來說head里面包括的內(nèi)容是我這個網(wǎng)頁的一些聲明,適合用什么方式瀏覽等等。


          當(dāng)然了HTML里面最基本的段落,

          這是一個段落

          這樣子,當(dāng)然在開頭的

          中還可以加一些屬性的東西,比如說

          這樣子,這個位置就是我們在爬蟲中特別需要關(guān)注的地方,屬性可以有多種多樣的,這里列出來的是 類屬性。


          這里列舉一些常用的HTML標(biāo)簽讓大家了解。

          標(biāo)題:<h1>一級標(biāo)題h1><hn>n級標(biāo)簽hn>段落:<p>這是一個段落p>無序列表:<ul><li>Pythonli><li>C/C++li>ul>有序列表:把ul改為ol即可鏈接:<a href=“網(wǎng)址”>名稱a>
          af23e6e5151ddcdb530bfc304aa36c75.webp


          既然介紹了這么多,大家其實可以自己嘗試著去寫一個網(wǎng)頁。下面給出一個例子。


          <html>  <head>    <meta charset=’utf-8’>    <meta http-equiv=’X-UA-Compatible’ content=’IE=edge,chrome=1’>    <title>小瑋的課堂title>    <meta name=’description’content=’’>    <meta name=’keywords’content=’’>    <link href=’’rel=’stylesheet’>  head>  <body>    <h1>小瑋的課堂h1>    <p>歡迎來到小瑋的課堂p>    <a href=’xxxxxx’>小瑋課堂的官網(wǎng)a>    <img src=’html.png’>  body>html>


          先保存為index.html文件,然后再去寫即可。




          然后就是下一個方面CSS,CSS就是指層疊樣式表(Cascading Style Sheets),它定義了一個網(wǎng)頁該如何顯示里面的元素,比如這個段落該靠在瀏覽器的左邊還是右邊,這段文字的字體,顏色,大小該是什么,這些方面都是由CSS定義。


          那么如何建立一個CSS文件呢?新建一個文件,寫入以下內(nèi)容


          p{color:blue;}


          保存為index-style.css,和index.html保存在同一個目錄之下。當(dāng)然并不是說放在一起他們就一塊兒運行了,我們還需要進行一些別的處理。


          我們回到html文件,在link href的位置進行一些修改。


          <link href='index-style.css' rel='stylesheet'>


          大家可以把加入CSS和沒有加入CSS的html文件進行對比就知道區(qū)別在哪里了。CSS內(nèi)容里面的p其實是選擇器的意思,表示我們選擇了p標(biāo)簽,我們在后面的操作是針對所有p標(biāo)簽的,里面color是屬性,blue是屬性值。


          當(dāng)然你還可以加入font-family:KaiTi,把字體進行修改,還有很多很多方面,大家可以多看看別的網(wǎng)頁的源代碼進行研究一下,特別推薦大家看一看蘋果的網(wǎng)頁源代碼,可以學(xué)到相當(dāng)多的東西。


          然后我們再來看看id和class,這些都是屬性,id在每一個html文件中只能有一個,和身份證一樣,但是class可以有很多個。


          那么基于這個我們就可以利用css進行各種各樣的個性操作啦。比如說#welcome-line{},在選擇器前加上#表示這個選擇了一個id,.link{},表示選擇了一個class。


          然后就是這個盒子模型,這個其實很容易理解,大家把鼠標(biāo)放在上面就可以知道這個是什么意思了,它表示的是邊界的意思。內(nèi)容和盒子邊框中間是padding,即內(nèi)邊距,邊框和邊框外其他元素之間是margin,即外邊距。


          053a9ca0b79c874bb7c251cdb81bc3f8.webp





          終于來到了最后的JavaScript,這個和Java可是沒有一點關(guān)系的啊,朋友們,這個是一款主要用于前端的一種編程語言,為網(wǎng)站提供動態(tài),交互的效果。


          給大家舉一個例子。把鼠標(biāo)放在上面他會自動彈出一些東西,或者變顏色之類的都是JSP做的東西。


          5d8f793f7b5e2adb150758b4fe685b9f.webp


          他和之前兩個方面的主要區(qū)別就是,他是一種嚴格意義上的編程語言。當(dāng)然,隨著技術(shù)的發(fā)展,JSP現(xiàn)在也慢慢用于后端的編寫了。


          那么我們怎么寫一個JSP文件呢?新建一個文件,寫入以下內(nèi)容


          var alertText='hello xiao wei'alert(alertText)


          保存為index.js,和index.html放在同一個目錄下面,這兩句話是什么意思呢?第一行,我們用var定義了一個字符串,后面的alert(alertText)是可以在網(wǎng)頁彈出一個提示框,大家經(jīng)常進入一個網(wǎng)頁會彈出一個對話框,就是這個原理。


          在JSP中大家可以使用if判斷語句,也可以定義函數(shù)等等,這里就不多介紹了。






          到這里為止,差不多已經(jīng)把前端的知識給大家都介紹了一下,如果大家自己對這部分內(nèi)容感興趣,可以去深入的了解一下。


          因為小瑋是個新手,這方面可能了解的不是很透徹,更加深入的就要看各位看客老爺自己了。那么了解完了這些知識,下一期我們就會正式進入爬蟲的實戰(zhàn)環(huán)節(jié)啦。期待下一次推文~


          祝各位看客老爺新年快樂!


          804dc92529d6499f7fc098afd9a91c9d.webp

          瀏覽 47
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  四色成人网站 | 国产最新在线 | 骚逼软件黑人大屌 | 国产精品卡_卡2卡3卡4一商战-信息网 | 日韩一区二区精品视频 |