Python及HTML基礎(chǔ)(2)--附云筆記Python學(xué)習(xí)筆記

對于網(wǎng)頁,除了傳統(tǒng)的css框架以外,額外可以嘗試的一個css框架是semantic ui,我們可以根據(jù)這個框架結(jié)合html寫一些簡單的靜態(tài)網(wǎng)頁,有如下步驟

1.使用基礎(chǔ)樣式
2.使用“形容詞”改變樣式
3.使用嵌套制作網(wǎng)頁片段
而對于css樣式的調(diào)用,在<head></head>這個標(biāo)簽內(nèi)使用<link rel="stylesheet" href="css/semantic.css" media="screen" title="no title" charset="utf-8">來調(diào)用,其中href的值為css的樣式路徑,一定要加載正確

  • 關(guān)于基礎(chǔ)樣式
    先來看下面這段代碼
<div class="ui segment"
 </div>

這是一個基礎(chǔ)的樣式,我們可以利用segment把一個網(wǎng)頁分為header、body(content)、footer。每一個segment都可以看作是一個片段。

  • 關(guān)于“形容詞”改變樣式
    先來看下面這段代碼
<div class="ui inverted vertical  segment">   
 </div>

來看幾個常用的形容詞,inverted(翻轉(zhuǎn),一般后面跟顏色)、vertical(圓角消失、陰影消失、消除段落間隙)、(very)padded(內(nèi)聚,限制文字與邊框有一定距離)、container(收緊、內(nèi)斂聚中),另外像big、tiny等形容詞也可以使用
說到這,有必要提供一個semantic ui的中文網(wǎng)站Semanti UI,當(dāng)然也可以使用英文咯

  • 關(guān)于嵌套
    在基本樣式里面定義了segment片段,我們可以在segment內(nèi)再進(jìn)行定義segment或者其他來制作片段的“卡片”,來3段代碼
<div class="ui inverted vertical  segment">
            <div class="ui image">
                ![](images/banner.jpg)
            </div>
    </div>

片段內(nèi)插入圖片

<div class="ui  vertical  segment">
            <div class="ui container segment">
                <h1 class="ui header">First blog</h1>
                <p>
                    古有為中華之崛起而讀書,今有為了出去浪而coding
                </p>
                <button type="button" name="button" class="ui inverted blue button">Read more</button>
            </div>

片段內(nèi)插入另一個segment形成卡片,插入<h1 class="ui header">First blog</h1>形成段落內(nèi)一級標(biāo)題,當(dāng)然還有二級三級...,插入<p></p>填充卡片內(nèi)容。在使用嵌套時候,要注意父子關(guān)系,目前我們了解到的沒有閉合標(biāo)簽的有2個,一個是img,一個是link,其他的都要注意閉合標(biāo)簽。下面是一個簡單的靜態(tài)頁面

QQ截圖20170321154609.png

關(guān)于HTTP狀態(tài)碼

HTTP狀態(tài)碼:
200系列:200、201.....代表成功
300系列:304.......代表沒有修改
400系列:404.......代表沒找到
500系列:500、502.......代碼服務(wù)不響應(yīng)
HTTP的url匹配:

訪問URL:http://localhsot:8000/detail/
- static/images/default.jpg -> http://localhsot:8000/detail/static/images/default.jpg
- /static/images/default.jpg -> http://localhsot:8000/static/images/default.jpg

爬蟲的一點(diǎn)總結(jié)

1.請求鏈接
分析html拿到需要的數(shù)據(jù)
2.數(shù)據(jù)匹配和提取
插入數(shù)據(jù)
3.數(shù)據(jù)的整理--去重
處理網(wǎng)絡(luò)Bug
4.提高爬蟲效率--多線程問題

爬蟲框架淺談

Python開源的爬蟲框架Scrapy是一個快速,高層次的屏幕抓取和web抓取框架,用于抓取web站點(diǎn)并從頁面中提取結(jié)構(gòu)化的數(shù)據(jù)。Scrapy用途廣泛,可以用于數(shù)據(jù)挖掘、監(jiān)測和自動化測試。

Scrapy主要包括了以下組件:
1.引擎(Scrapy)
用來處理整個系統(tǒng)的數(shù)據(jù)流處理, 觸發(fā)事務(wù)(框架核心)
調(diào)度器(Scheduler)
用來接受引擎發(fā)過來的請求, 壓入隊(duì)列中, 并在引擎再次請求的時候返回. 可以想像成一個URL(抓取網(wǎng)頁的網(wǎng)址或者說是鏈接)的優(yōu)先隊(duì)列, 由它來決定下一個要抓取的網(wǎng)址是什么, 同時去除重復(fù)的網(wǎng)址
2.下載器(Downloader)
用于下載網(wǎng)頁內(nèi)容, 并將網(wǎng)頁內(nèi)容返回給蜘蛛(Scrapy下載器是建立在twisted這個高效的異步模型上的)
3.爬蟲(Spiders)
爬蟲是主要干活的, 用于從特定的網(wǎng)頁中提取自己需要的信息, 即所謂的實(shí)體(Item)。用戶也可以從中提取出鏈接,讓Scrapy繼續(xù)抓取下一個頁面
4.項(xiàng)目管道(Pipeline)
負(fù)責(zé)處理爬蟲從網(wǎng)頁中抽取的實(shí)體,主要的功能是持久化實(shí)體、驗(yàn)證實(shí)體的有效性、清除不需要的信息。當(dāng)頁面被爬蟲解析后,將被發(fā)送到項(xiàng)目管道,并經(jīng)過幾個特定的次序處理數(shù)據(jù)。
5.下載器中間件(Downloader Middlewares)
位于Scrapy引擎和下載器之間的框架,主要是處理Scrapy引擎與下載器之間的請求及響應(yīng)。
6.爬蟲中間件(Spider Middlewares)
介于Scrapy引擎和爬蟲之間的框架,主要工作是處理蜘蛛的響應(yīng)輸入和請求輸出。
7.調(diào)度中間件(Scheduler Middewares)
介于Scrapy引擎和調(diào)度之間的中間件,從Scrapy引擎發(fā)送到調(diào)度的請求和響應(yīng)。

Scrapy運(yùn)行流程大概如下:

1.引擎從調(diào)度器中取出一個鏈接(URL)用于接下來的抓取
2.引擎把URL封裝成一個請求(Request)傳給下載器
3.下載器把資源下載下來,并封裝成應(yīng)答包(Response)
4.爬蟲解析Response
5.解析出實(shí)體(Item),則交給實(shí)體管道進(jìn)行進(jìn)一步的處理
6.解析出的是鏈接(URL),則把URL交給調(diào)度器等待抓取

Python個人學(xué)習(xí)總結(jié)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容