整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          Python爬蟲抓取名人名言網站

          Python爬蟲抓取名人名言網站

          、輸入網址

          quotes.toscrape.com/,進入網站首頁,觀察網頁的結構,我們發現網頁的內容很清晰,

          主要分為:名人名言,作者,標簽三個主要字段,同時三個字段的內容為本次提取的內容。

          2、確定需求,分析網頁結構

          打開開發者工具,點擊networ進行網絡數據抓包分析,網站是以get方式進行請求,不需要攜帶參數,那我們就可以以request請求庫中的get()方法,進行模擬請求,需要帶上headers請求,模擬瀏覽器信息驗證,防止被網站服務器檢測為爬蟲請求。

          也可以點擊開發者工具的最左邊小箭頭,可以幫助我們快速定位,網頁數據在element標簽頁所在的位置。

          3、解析網頁結構,提取數據。

          請求成功之后,可以開始提取數據啦~,我用的是xpath的解析方法,所以,先來解析xpath頁面,點擊最左邊小箭頭,可以幫助我們快速定位數據所,網頁數據在element標簽頁所在的位置.因為網頁的請求方式數據以列表的方式逐條排序,所以我們可以先定位整個列表的數據。在通過lxm中html解析器,逐個字段抓取并保存至列表,方便下一步的數據清洗。

          4、保存至csv文件

          源碼分享

          import requests
          from lxml import etree
          import csv
           
          url="https://quotes.toscrape.com/"
          headers={
              'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36'
          }
           
           
          res=requests.get(url,headers=headers).text
           
          html=etree.HTML(res)
           
          queto_list=html.xpath('//div[@class="col-md-8"]')
           
          lists=[]
           
          for queto in queto_list:
              # 名言正文
              title=queto.xpath('./div[@class="quote"]/span[1]/text()')
              # 作者
              authuor=queto.xpath('./div[@class="quote"]/span[2]/small/text()')
              # 名言標簽
              tags=queto.xpath('./div[@class="quote"]/div[@class="tags"]/a[@class="tag"]/text()')
              # 將數據統一添加進列表中保存
              lists.append(title)
              lists.append(authuor)
              lists.append(tags)
           
           
              with open("./名人名言.csv",'w',encoding='utf-8',newline='\n') as f:
           
                      writer=csv.writer(f)
                      for i in lists:
                          writer.writerow(x)

          以上就是Python爬蟲抓取名人名言網站的方法,希望對大家有所幫助。

          文地址: https://medium.com/free-code-camp/how-to-make-your-html-responsive-by-adding-a-single-line-of-css-2a62de81e431

          原文作者: Per Harald Borgen

          翻譯作者: https://github.com/hanxiansen

          在這篇文章中,我將教你如何使用 CSS Grid 來創建一個超酷的圖像網格圖,它將根據屏幕的寬度來改變列的數量。最精彩的地方在于:所有的響應特性被添加到了一行 css 代碼中。這意味著我們不必將 HTML 與丑陋的類名(如col-sm-4, col-md-8)混雜在一起,也不必為每個屏幕創建媒體查詢。ok,讓我們發車吧。

          設置

          在本文中,我將繼續使用我在第一篇 CSS Grid 布局教程文章中的網格布局。然后,我們將在文章末尾添加圖片。下面是我們初始化網格的外觀:

          HTML 代碼:

          <div class="container">
           <div>1</div>
           <div>2</div>
           <div>3</div>
           <div>4</div>
           <div>5</div>
           <div>6</div>
          </div>
          

          CSS 代碼:

          .container {
           display: grid;
           grid-template-columns: 100px 100px 100px;
           grid-template-rows: 50px 50px;
          }
          

          注意: 示例中有一些基礎的樣式,但我在這里沒有寫出來,因為這對 CSS 網格布局沒有任何影響

          如果這段代碼讓你感到困惑,我建議你去好好讀下我的這篇文章 Learn CSS Grid in 5 minutes ,其中就詳細的解釋了布局的基礎知識。

          讓我們讓列開始具有自適應特性吧。

          基礎響應單位: fraction

          CSS 柵格布局帶來了一個全新的值:fraction單位,fraction單位通常簡寫為fr,它允許你根據需要將容器拆分為多個塊。

          讓我們將每一列更改為一個 fraction 單位寬:

          .container {
           display: grid;
           grid-template-columns: 1fr 1fr 1fr;
           grid-template-rows: 50px 50px;
          }
          

          結果是柵格布局將會把整個寬度分成三個 fraction,每列占據一個 fraction 單位,效果如下:

          如果我們將grid-template-columns的值更改為1fr 2fr 1fr,第二列的寬度將會是其它兩列的兩倍。總寬現在是四個 fraction 單位,第二列占據兩個 fraction 單位,其它列各占一個 fraction。效果如下:

          總的來說,fraction 單位值將使你可以很容易的更改列的寬度。

          高級響應

          然而,上面列子并沒有給出我們想要的響應性,因為網格總是三列寬。我們希望網格能根據容器的寬度改變列的數量。要做到這一點,你必須學習如下三個概念:

          repeat()

          首先我們學習repeat()函數。這是一個強大的指定列和行的方法。讓我們使用repeat()函數來更改網格:

          .container {
           display: grid;
           grid-template-columns: repeat(3, 100px);
           grid-template-rows: repeat(2, 50px);
          }
          

          在上面代碼中,repeat(3, 100px)等于100px 100px 100px。第一個參數指定行與列的數量,第二個參數指定它們的寬度,因此它將為我們提供與開始時完全相同的布局:

          auto-fit

          然后是auto-fit。讓我們跳過固定數量的列,將3替換為自適應數量:

          .container {
           display: grid;
           grid-gap: 5px;
           grid-template-columns: repeat(auto-fit, 100px);
           grid-template-rows: repeat(2, 100px);
          }
          

          效果如下:

          現在,柵格將會根據容器的寬度調整其數量。它會嘗試在容器中容納盡可能多的 100px 寬的列。但如果我們將所有列硬寫為 100px,我們將永遠沒法獲得所需的彈性,因為它們很難填充整個寬度。正如你在上圖看到的,網格通常在右側留有空白。

          minmax()

          為了解決上述問題,我們需要minmax()。我們將 100px 替換為 minmax(100px, 1fr),代碼如下:

          .container {
           display: grid;
           grid-gap: 5px;
           grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
           grid-template-rows: repeat(2, 100px);
          }
          

          請注意,所有響應都發生在一行 css 代碼中

          效果如下:

          正如你所見,效果完美。minmax()函數定義的范圍大于或等于 min, 小于或等于 max。

          因此,現在每列將至少為 100px。但如果有更多的可用空間,柵格布局將簡單地將其均分給每列,因為這些列變成了 fraction 單位,而不是 100px。

          添加圖片

          最后一步是添加圖片。這與 CSS Grid 布局無關,但讓我們看下代碼。

          我們在每個網格中添加一個圖片標簽:

          <div><img src="img/forest.jpg"/></div>
          

          為了使圖片適應于每個條目,我們將其寬、高設置為與條目本身一樣,我們使用object-fit:cover。這將使圖片覆蓋它的整個容器,根據需要,瀏覽器將會對其進行裁剪。

          .container > div > img {
           width: 100%;
           height: 100%;
           object-fit: cover;
          }
          

          效果如下:

          ok!現在你已經了解了 CSS Grid 布局中最復雜的概念之一了,請給自己一個贊吧。

          瀏覽器兼容性

          在結束本文前,我提下瀏覽器支持情況,在撰寫本文時,全球77%的網站將支持 CSS Grid,而且比例還在逐步攀升。

          我想想2018將是 CSS 網格布局的元年。它將獲得突破,并成為前端開發者的必備技能,就像過去幾年 CSS Flexbox 布局發生的情況一樣。

          天將為大家帶HTML的內聯框架,以及網頁進階設計,在想對網頁做出更進一步的完善時,我們可以使用JavaScript對網頁設計出更多的樣式以及使用響應式設計來設計出更加出眾的網頁外觀。

          一、HTML框架—iframe

          1、Iframe是一種可以在網頁內聯其他網頁的元素

          2、Iframe語法為:<iframe arc=“URL”></iframe>(其中URL指向不同的網頁)

          3、Iframe以height和width屬性來定義長度和寬度,示例:


          運行結果:

          4、在iframe中可以用frameborder屬性來定義是否顯示邊框,設置屬性為“0”的時候移除iframe的邊框,示例:


          運行結果:


          二、HTML javaScript

          1、JavaScript是面向Web的編程語言,獲得了所有網頁瀏覽器的支持,是目前使用最廣泛的腳本編程語言之一,也是網頁設計和Web應用必須掌握的基本工具。

          2、在HTML中是用<script>標簽來定義客戶端腳本(JavaScript)。

          3、JavaScript的常見用途是圖像處理、表單驗證和內容的動態更改。

          4、JavaScript更改內容的示例:

          <!DOCTYPE html>

          <html>

          <head>

          <title>javascript示例</title>

          </head>

          <body>

          <button type="button" onclick="myCat()">點擊這里!</button>

          <p id="eg1">看這里</p>

          <script>

          function myCat(){

          document.getElementById("eg1").innerHTML="hello!";

          }

          </script>

          </body>

          </html>


          運行結果:

          點擊前

          點擊后


          Javascrip可以修改樣式,示例:

          <!DOCTYPE html>

          <html>

          <body>

          <h1>我的第一段 JavaScript</h1>

          <p id="demo">JavaScript 可以更改 HTML 元素的樣式。</p>

          <script>

          function myFunction() {

          document.getElementById("demo").style.fontSize="25px";

          document.getElementById("demo").style.color="red";

          document.getElementById("demo").style.backgroundColor="yellow";

          }

          </script>

          <button type="button" onclick="myFunction()">點擊我!</button>

          </body>

          </html>

          運行結果:

          點擊前

          點擊后

          三、HTML文件路徑

          1、文件路徑描述了網站文件夾結構中某個文件的位置。

          2、文件路徑會在連接外部文件時被用到:

          l 網頁

          l 圖像

          l 樣式表

          l JavaScript

          3、絕對文件路徑是指向一個因特網文件的完整URL,示例:

          <img src="https://www.w3school.com.cn/images/picture.jpg" alt="flower">

          運行結果:


          4、相對路徑指向了對于當前頁面的文件。

          四、HTML響應式設計

          1、RWD指的是響應式Web設計(Responsive Web Design)。

          2、RWD 能夠以可變尺寸傳遞網頁。

          3、RWD 對于平板和移動設備是必需的。

          創建響應式設計的一個方法,實在急來創建它,示例:

          <!DOCTYPE html>

          <html lang="en-US">

          <head>

          <style>

          .city {

          float: left;

          margin: 5px;

          padding: 15px;

          width: 300px;

          height: 300px;

          border: 1px solid black;

          }

          </style>

          </head>

          <body>

          <h1>Welcome to the New world</h1>

          <h2>Resize this responsive page!</h2>

          <br>

          <div class="city">

          <h2>London</h2>

          <p>London is the capital city of England.</p>

          <p>It is the most populous city in the United Kingdom,

          with a metropolitan area of over 13 million inhabitants.</p>

          </div>

          <div class="city">

          <h2>Paris</h2>

          <p>Paris is the capital and most populous city of France.</p>

          </div>

          <div class="city">

          <h2>Tokyo</h2>

          <p>Tokyo is the capital of Japan, the center of the Greater Tokyo Area,

          and the most populous metropolitan area in the world.</p>

          </div>

          </body>

          </html>

          運行結果:

          4、另一個創建響應式設計的方法,是使用現成的 CSS 框架—Bootstrap。

          5、Bootstrap 是最流行的開發響應式 web 的 HTML, CSS, 和 JS 框架。

          6、Bootstrap 幫助您開發在任何尺寸都外觀出眾的站點:顯示器、筆記本電腦、平板電腦或手機,示例:

          <!DOCTYPE html>

          <html>

          <head>

          <meta charset="utf-8">

          <meta name="viewport" content="width=device-width, initial-scale=1">

          <link rel="stylesheet"

          href="http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">

          </head>

          <body>

          <div class="container">

          <div class="jumbotron">

          <h1>Welcome to the New world</h1>

          <p>Resize this responsive page!</p>

          </div>

          </div>

          <div class="container">

          <div class="row">

          <div class="col-md-4">

          <h2>London</h2>

          <p>London is the capital city of England.</p>

          <p>It is the most populous city in the United Kingdom,

          with a metropolitan area of over 13 million inhabitants.</p>

          </div>

          <div class="col-md-4">

          <h2>Paris</h2>

          <p>Paris is the capital and most populous city of France.</p>

          </div>

          <div class="col-md-4">

          <h2>Tokyo</h2>

          <p>Tokyo is the capital of Japan, the center of the Greater Tokyo Area,

          and the most populous metropolitan area in the world.</p>

          </div>

          </div>

          </div>

          </body>

          </html>

          運行結果:

          學完這一節對網頁的進階設計內容,是不是覺得對網頁設計有了更多的認識呢?


          主站蜘蛛池模板: 日韩精品一区二区三区中文字幕 | 免费国产在线精品一区| 国产无套精品一区二区| av在线亚洲欧洲日产一区二区| 国产精品污WWW一区二区三区| 曰韩精品无码一区二区三区| 成人一区二区免费视频| 国产激情无码一区二区三区| 日本在线不卡一区| 精品不卡一区二区| 国产婷婷色一区二区三区深爱网 | 日韩免费视频一区| 日韩亚洲一区二区三区| 无码视频一区二区三区| 一区二区视频传媒有限公司| 精品一区二区三区波多野结衣| 国产av夜夜欢一区二区三区| 高清一区二区三区免费视频| 日美欧韩一区二去三区| 久久亚洲日韩精品一区二区三区 | 韩国一区二区视频| 国精产品一区一区三区免费视频 | 亚洲色无码一区二区三区| 久久精品成人一区二区三区| 精品久久久久久中文字幕一区| 日韩三级一区二区| 亚洲狠狠狠一区二区三区| 91久久精品国产免费一区 | 久久伊人精品一区二区三区| 人妻AV中文字幕一区二区三区| 综合无码一区二区三区| 亚洲一区无码中文字幕| 久久国产一区二区| 韩国福利一区二区美女视频| 日韩一区二区视频在线观看| 亚洲日韩一区二区一无码| 日韩三级一区二区| 不卡无码人妻一区三区音频| 国产自产V一区二区三区C| 日韩精品无码一区二区三区免费| 麻豆AV一区二区三区久久 |