對于網(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)再進行定義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)頁面
關(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
爬蟲的一點總結(jié)
1.請求鏈接
分析html拿到需要的數(shù)據(jù)
2.數(shù)據(jù)匹配和提取
插入數(shù)據(jù)
3.數(shù)據(jù)的整理--去重
處理網(wǎng)絡(luò)Bug
4.提高爬蟲效率--多線程問題
爬蟲框架淺談
Python開源的爬蟲框架Scrapy是一個快速,高層次的屏幕抓取和web抓取框架,用于抓取web站點并從頁面中提取結(jié)構(gòu)化的數(shù)據(jù)推励。Scrapy用途廣泛鹤耍,可以用于數(shù)據(jù)挖掘、監(jiān)測和自動化測試验辞。
Scrapy主要包括了以下組件:
1.引擎(Scrapy)
用來處理整個系統(tǒng)的數(shù)據(jù)流處理, 觸發(fā)事務(wù)(框架核心)
調(diào)度器(Scheduler)
用來接受引擎發(fā)過來的請求, 壓入隊列中, 并在引擎再次請求的時候返回. 可以想像成一個URL(抓取網(wǎng)頁的網(wǎng)址或者說是鏈接)的優(yōu)先隊列, 由它來決定下一個要抓取的網(wǎng)址是什么, 同時去除重復(fù)的網(wǎng)址
2.下載器(Downloader)
用于下載網(wǎng)頁內(nèi)容, 并將網(wǎng)頁內(nèi)容返回給蜘蛛(Scrapy下載器是建立在twisted這個高效的異步模型上的)
3.爬蟲(Spiders)
爬蟲是主要干活的, 用于從特定的網(wǎng)頁中提取自己需要的信息, 即所謂的實體(Item)稿黄。用戶也可以從中提取出鏈接,讓Scrapy繼續(xù)抓取下一個頁面
4.項目管道(Pipeline)
負(fù)責(zé)處理爬蟲從網(wǎng)頁中抽取的實體,主要的功能是持久化實體跌造、驗證實體的有效性杆怕、清除不需要的信息。當(dāng)頁面被爬蟲解析后壳贪,將被發(fā)送到項目管道陵珍,并經(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運行流程大概如下:
1.引擎從調(diào)度器中取出一個鏈接(URL)用于接下來的抓取
2.引擎把URL封裝成一個請求(Request)傳給下載器
3.下載器把資源下載下來亿卤,并封裝成應(yīng)答包(Response)
4.爬蟲解析Response
5.解析出實體(Item),則交給實體管道進行進一步的處理
6.解析出的是鏈接(URL),則把URL交給調(diào)度器等待抓取