Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 日韩中文字幕电影在线观看,亚洲影院在线观看,日本在线一区二区三区

          整合營銷服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費(fèi)咨詢熱線:

          HTML學(xué)習(xí)教程5-頭元素 腳本 鏈接

          TML<head>元素

          <head> 元素包含了所有的頭部標(biāo)簽元素。在 <head>元素中你可以插入腳本(scripts), 樣式文件(CSS),及各種meta信息。

          可以添加在頭部區(qū)域的元素標(biāo)簽為: <title>, <style>, <meta>, <link>, <script>, <noscript> 和 <base>

          HTML <title> 元素

          <title> 標(biāo)簽定義了不同文檔的標(biāo)題。

          <title> 在 HTML/XHTML 文檔中是必須的。

          <title> 元素:

          • 定義了瀏覽器工具欄的標(biāo)題
          • 當(dāng)網(wǎng)頁添加到收藏夾時(shí),顯示在收藏夾中的標(biāo)題
          • 顯示在搜索引擎結(jié)果頁面的標(biāo)題

          一個(gè)簡(jiǎn)單的 HTML 文檔:

          <!DOCTYPE html>
          <html>
          <head> 
          <meta charset="utf-8"> 
          <title>文檔標(biāo)題</title>
          </head>
           
          <body>
          文檔內(nèi)容......
          </body>
           
          </html>

          HTML <base> 元素

          <base> 標(biāo)簽描述了基本的鏈接地址/鏈接目標(biāo),該標(biāo)簽作為HTML文檔中所有的鏈接標(biāo)簽的默認(rèn)鏈接:

          <head>
          <link rel="stylesheet" type="text/css" href="mystyle.css">
          </head>

          HTML <style> 元素

          <style> 標(biāo)簽定義了HTML文檔的樣式文件引用地址.

          在<style> 元素中你也可以直接添加樣式來渲染 HTML 文檔:

          <head>
          <style type="text/css">
          body {background-color:yellow}
          p {color:blue}
          </style>
          </head>

          HTML <meta> 元素

          meta標(biāo)簽描述了一些基本的元數(shù)據(jù)。

          <meta> 標(biāo)簽提供了元數(shù)據(jù).元數(shù)據(jù)也不顯示在頁面上,但會(huì)被瀏覽器解析。

          META 元素通常用于指定網(wǎng)頁的描述,關(guān)鍵詞,文件的最后修改時(shí)間,作者,和其他元數(shù)據(jù)。

          元數(shù)據(jù)可以使用于瀏覽器(如何顯示內(nèi)容或重新加載頁面),搜索引擎(關(guān)鍵詞),或其他Web服務(wù)。

          <meta> 一般放置于 <head> 區(qū)域

          <meta> 標(biāo)簽- 使用實(shí)例

          為搜索引擎定義關(guān)鍵詞:

          <meta name="keywords" content="HTML, CSS, XML, XHTML, JavaScript">

          為網(wǎng)頁定義描述內(nèi)容:

          <meta name="description" content="免費(fèi) Web & 編程 教程">

          定義網(wǎng)頁作者:

          <meta name="author" content="tom">

          每30秒鐘刷新當(dāng)前頁面:

          <meta http-equiv="refresh" content="30">

          HTML <script> 元素

          <script>標(biāo)簽用于加載腳本文件或定義客戶端腳本,如: JavaScript。

          <script> 元素既可包含腳本語句,也可通過 src 屬性指向外部腳本文件。

          JavaScript 最常用于圖片操作、表單驗(yàn)證以及內(nèi)容動(dòng)態(tài)更新。

          下面的腳本會(huì)向?yàn)g覽器輸出"Hello World!":

          <!DOCTYPE html>
          <html>
          <head> 
          <meta charset="utf-8"> 
          <title>菜鳥教程(runoob.com)</title> 
          </head>
          <body>
          <script>
          document.write("Hello World!")
          </script> 
          </body>
          </html>

          HTML<noscript> 標(biāo)簽

          <noscript> 標(biāo)簽提供無法使用腳本時(shí)的替代內(nèi)容,比方在瀏覽器禁用腳本時(shí),或?yàn)g覽器不支持客戶端腳本時(shí)。

          <noscript>元素可包含普通 HTML 頁面的 body 元素中能夠找到的所有元素。

          只有在瀏覽器不支持腳本或者禁用腳本時(shí),才會(huì)顯示 <noscript> 元素中的內(nèi)容:

          <!DOCTYPE html>
          <html>
          <head> 
          <meta charset="utf-8"> 
          <title>文檔標(biāo)題</title> 
          </head> 
          <body>
          
          <script>
          document.write("Hello World!")
          document.write("<h1>這是一個(gè)標(biāo)題</h1>");
          document.write("<p>這是一個(gè)段落。</p>");
          </script>
          <noscript>抱歉,你的瀏覽器不支持 JavaScript!</noscript>
          
          <p>不支持 JavaScript 的瀏覽器會(huì)使用 <noscript> 元素中定義的內(nèi)容(文本)來替代。</p>
           
          </body>
          </html>

          JavaScript事件響應(yīng):

          <!DOCTYPE html>
          <html>
          <head> 
          <meta charset="utf-8"> 
          <title>文檔標(biāo)題</title> 
          </head>
          <body>
          
          <h1>我的第一個(gè) JavaScript </h1>
          
          <p id="demo">
          JavaScript 可以觸發(fā)事件,就像按鈕點(diǎn)擊。</p>
          
          <script>
          function myFunction()
          {
          	document.getElementById("demo").innerHTML="Hello JavaScript!";
          }
          </script>
          
          <button type="button" onclick="myFunction()">點(diǎn)我</button>
          
          </body>
          </html>

          HTML 腳本標(biāo)簽

          標(biāo)簽

          描述

          <script>

          定義了客戶端腳本

          <noscript>

          定義了不支持腳本瀏覽器輸出的文本

          HTML鏈接

          HTML使用標(biāo)簽 <a>來設(shè)置超文本鏈接。

          超鏈接可以是一個(gè)字,一個(gè)詞,或者一組詞,也可以是一幅圖像,您可以點(diǎn)擊這些內(nèi)容來跳轉(zhuǎn)到新的文檔或者當(dāng)前文檔中的某個(gè)部分。

          當(dāng)您把鼠標(biāo)指針移動(dòng)到網(wǎng)頁中的某個(gè)鏈接上時(shí),箭頭會(huì)變?yōu)橐恢恍∈帧?/span>

          在標(biāo)簽<a> 中使用了href屬性來描述鏈接的地址。

          默認(rèn)情況下,鏈接將以以下形式出現(xiàn)在瀏覽器中:

          • 一個(gè)未訪問過的鏈接顯示為藍(lán)色字體并帶有下劃線。
          • 訪問過的鏈接顯示為紫色并帶有下劃線。
          • 點(diǎn)擊鏈接時(shí),鏈接顯示為紅色并帶有下劃線。

          注意:如果為這些超鏈接設(shè)置了 CSS 樣式,展示樣式會(huì)根據(jù) CSS 的設(shè)定而顯示。

          <!DOCTYPE html>
          <html>
          <head> 
          <meta charset="utf-8"> 
          <title>文檔標(biāo)題</title> 
          </head>
          <body>
          <p><a href="//www.microsoft.com/">本文本</a> 是一個(gè)指向萬維網(wǎng)上的頁面的鏈接。</p>
          </body>
          </html>

          HTML head 元素

          標(biāo)簽

          描述

          <head>

          定義了文檔的信息

          <title>

          定義了文檔的標(biāo)題

          <base>

          定義了頁面鏈接標(biāo)簽的默認(rèn)鏈接地址

          <link>

          定義了一個(gè)文檔和外部資源之間的關(guān)系

          <meta>

          定義了HTML文檔中的元數(shù)據(jù)

          <script>

          定義了客戶端的腳本文件

          <style>

          定義了HTML文檔的樣式文件

          了方面和節(jié)約時(shí)間,本次使用的python編譯器和解釋器分別為pycharm,python3.6.1RC

          逢年過節(jié)

          有一個(gè)神奇的網(wǎng)站

          你一定不陌生

          “12306”

          是不是總搶不到票啊

          是不是觀察著余票最新動(dòng)態(tài)

          告訴你一個(gè)新技能

          賊666

          12306自動(dòng)搶票

          前方高能,請(qǐng)系好好全帶~~

          首先在買票前我們需要先確認(rèn)是否有票,那么進(jìn)行正常的查票,打開12306查票網(wǎng)站輸入出發(fā)地和目的地進(jìn)行搜索。

          私信小編007 即可獲取數(shù)十套PDF以及大量的教學(xué)視頻!全都是從零到項(xiàng)目實(shí)戰(zhàn)的!

          然后我們點(diǎn)擊查詢按鈕以后瀏覽器向服務(wù)器發(fā)起了兩次請(qǐng)求,那么我們來通過返回值分析下那個(gè)請(qǐng)求才是真正獲取到車次相關(guān)數(shù)據(jù)的請(qǐng)求,以便我們用Python來模擬瀏覽器操作。

          第一次請(qǐng)求:

          很明顯第一次請(qǐng)求返回的值沒有我們需要的車次信息。

          第二次請(qǐng)求:

          第二次請(qǐng)求里面看到了很多數(shù)據(jù),雖然我們暫時(shí)還沒看到車次信息,但是我們發(fā)現(xiàn)它有個(gè)特性,就是有個(gè)列表的值里面有6個(gè)元素,而剛好我們搜索出來的從西安到達(dá)州的車輛也是6條數(shù)據(jù),所以這兩者肯定有一定關(guān)系,那么我們先用Python來獲取到這些數(shù)據(jù)再進(jìn)行下一步分析。

          # -*- coding: utf-8 -*-

          import urllib2

          import ssl

          ssl._create_default_https_context = ssl._create_unverified_context

          def getList():

          req = urllib2.Request('https://kyfw.12306.cn/otn/leftTicket/query?leftTicketDTO.train_date=2017-07-10&leftTicketDTO.from_station=CDW&leftTicketDTO.to_station=CSQ&purpose_codes=ADULT')

          req.add_header('User-Agent','Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36')

          html = urllib2.urlopen(req).read()

          return html

          print getList()

          req.add_header(‘User-Agent’,’Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36’)

          其中的

          ssl._create_default_https_context =ssl._create_unverified_context

          是因?yàn)?2306采用的是https協(xié)議,而ssl證書是它自己做的并沒有得到瀏覽器的認(rèn)可,所以Python默認(rèn)是不會(huì)請(qǐng)求不受信任的證書的網(wǎng)站的,我們可以通過這行代碼來關(guān)閉掉證書的驗(yàn)證。

          那么我們先來看看能不能正常獲取到我們想要的信息。

          事實(shí)證明我們的操作沒有問題,接下來先拿到包含有6條數(shù)據(jù)的這個(gè)列表再說。

          返回的數(shù)據(jù)是json格式,但是Python標(biāo)準(zhǔn)數(shù)據(jù)類型中沒有json這個(gè)類型,所以對(duì)于Python而言它就是個(gè)字符串,如果要非常方便的操作這個(gè)json我們就可以借助Python中的json這個(gè)包來把json這個(gè)字符串變成dict類型,然后通過dict的鍵值對(duì)操作方法把列表取出來并進(jìn)行返回。

          # -*- coding: utf-8 -*-

          import urllib2

          import ssl

          import json

          ssl._create_default_https_context = ssl._create_unverified_context

          def getList():

          req = urllib2.Request('https://kyfw.12306.cn/otn/leftTicket/query?leftTicketDTO.train_date=2017-07-10&leftTicketDTO.from_station=CDW&leftTicketDTO.to_station=CSQ&purpose_codes=ADULT')

          req.add_header('User-Agent','Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36')

          html = urllib2.urlopen(req).read()

          dict = json.loads(html)

          result = dict['data']['result']

          return result

          最終返回的是一個(gè)list數(shù)據(jù),我們先把這個(gè)數(shù)據(jù)for出來再看看每一條數(shù)據(jù)都有些什么東西。

          for i in getList():

          print i

          for出來之后我們先來看看第一條數(shù)據(jù)是什么樣的:

          |預(yù)定|76000G131805|G1318|ICW|IZQ|ICW|CWQ|07:54|18:54|11:00|N|UHESFcaIDeX22Z0zWfqttDuZXJFuWPdIa148i6TNk5spIqfp|20170710|3|W2|01|16|0|0|||||||||||無|無|無||O0M090|OM9

          其實(shí)我們稍微留一下就會(huì)發(fā)現(xiàn)里面有包含G1318,07:54,18:54,無這樣的車次信息的,只不過看起來比較亂,但是他們都有一個(gè)特點(diǎn),每個(gè)數(shù)據(jù)都是由|這個(gè)符號(hào)分開的,所以我們可以通過用|分割看看能發(fā)現(xiàn)什么呢?

          for i in getList():

          for n in i.split('|'):

          print n

          break

          可以看到所有的值都打印出來了,我們?cè)僭谇懊婕由弦粋€(gè)序號(hào)就能清楚到看到每個(gè)序號(hào)所對(duì)應(yīng)的值到底是什么了,比如有輛火車硬座還剩3張票,軟臥還剩8張票,那我們就查看哪個(gè)序號(hào)對(duì)應(yīng)的值是3哪個(gè)序號(hào)對(duì)應(yīng)的值是8就搞清楚了哪個(gè)序號(hào)是代表什么座次或者其他參數(shù)了。

          c = 0

          for i in getList():

          for n in i.split('|'):

          print '[%s] %s' %(c,n)

          c += 1

          c = 0

          break

          #索引3=車次

          #索引8=出發(fā)時(shí)間

          #索引9=到達(dá)時(shí)間

          到了這里不知道同學(xué)們有沒有發(fā)現(xiàn)一個(gè)問題,就是我用的這個(gè)函數(shù)只能夠獲取到從長(zhǎng)沙到成都的數(shù)據(jù),而別人不一定是買這個(gè)方向的火車,所以我們還得搞清楚請(qǐng)求的url當(dāng)中的出發(fā)站和到達(dá)站的值是怎么來的?

          https://kyfw.12306.cn/otn/leftTicket/query?leftTicketDTO.train_date=2017-07-10&leftTicketDTO.from_station=CDW&leftTicketDTO.to_station=CSQ&purpose_codes=ADULT

          先找到出發(fā)站和到達(dá)站的參數(shù)分別是:

          leftTicketDTO.from_station=CDW

          leftTicketDTO.to_station=CSQ

          然而通過查找和分析我并沒有發(fā)現(xiàn)這兩個(gè)參數(shù)有規(guī)律,那么也就是說這兩個(gè)值是在之前的請(qǐng)求里面就已經(jīng)獲取到了的,通過檢查網(wǎng)頁源代碼沒有找到,那么又只能通過抓包的方式來找。

          在抓包過程中找到了一個(gè)包的返回值是附帶有各城市的代號(hào)的,url如下:

          https://kyfw.12306.cn/otn/resources/js/framework/station_name.js?station_version=1.9018

          先找到出發(fā)站和到達(dá)站的參數(shù)分別是:

          leftTicketDTO.from_station=CDW

          leftTicketDTO.to_station=CSQ

          然而通過查找和分析我并沒有發(fā)現(xiàn)這兩個(gè)參數(shù)有規(guī)律,那么也就是說這兩個(gè)值是在之前的請(qǐng)求里面就已經(jīng)獲取到了的,通過檢查網(wǎng)頁源代碼沒有找到,那么又只能通過抓包的方式來找。

          在抓包過程中找到了一個(gè)包的返回值是附帶有各城市的代號(hào)的,url如下:

          https://kyfw.12306.cn/otn/resources/js/framework/station_name.js?station_version=1.9018

          那么我們把這里面的城市數(shù)據(jù)復(fù)制出來單獨(dú)新建一個(gè)cons.py的文件保存起來。

          然后我們通過把參數(shù)做成通過輸入出發(fā)城市和到達(dá)城市就可以直接在這個(gè)數(shù)據(jù)里面匹配到相應(yīng)的城市代號(hào),代碼如下:

          station = {}

          for i in cons.station_names.split('@'):

          if i:

          tmp = i.split('|')

          station[tmp[1]] = tmp[2]

          \#print station

          train_date = raw_input('請(qǐng)輸入出發(fā)時(shí)間')

          from_station = station[raw_input('請(qǐng)輸入出發(fā)城市')]

          to_station = station[raw_input('請(qǐng)輸入到達(dá)城市')]

          到這里就已經(jīng)能夠通過輸入“時(shí)間,城市”獲取相應(yīng)的車次信息了

          那么我們?cè)龠M(jìn)行一些簡(jiǎn)單的判斷,就能實(shí)現(xiàn)檢查相應(yīng)的時(shí)間,地點(diǎn),車次是否有余票了。同時(shí)再結(jié)合登錄,購票等流程,通過自動(dòng)判斷是否有票,如果無票就繼續(xù)刷新,直到有票之后自動(dòng)登錄下單后通過短信或者電話等方式全自動(dòng)聯(lián)系購票人手機(jī)就可以了。

          未完待續(xù)!

          HTML 編輯器推薦

          可以使用專業(yè)的 HTML 編輯器來編輯 HTML,菜鳥教程為大家推薦幾款常用的編輯器:

          • Notepad++:https://notepad-plus-plus.org/

          • Sublime Text:http://www.sublimetext.com/

          • HBuilder:http://www.dcloud.io/

          你可以從以上軟件的官網(wǎng)中下載對(duì)應(yīng)的軟件,按步驟安裝即可。

          接下來我們將為大家演示如何使用Notepad++工具來創(chuàng)建 HTML 文件,其他兩個(gè)工具操作步驟類似。

          Notepad++

          Notepad++是 Windows操作系統(tǒng)下的一套文本編輯器(軟件版權(quán)許可證: GPL),有完整的中文化接口及支持多國語言編寫的功能(UTF8技術(shù))。

          步驟 1: 新建 HTML 文件

          在 Notepad++ 安裝完成后,選擇" 文件(F)->新建(N) ",在新建的文件中輸入以下代碼:

          <!DOCTYPEhtml><html><head><metacharset="utf-8"><title>菜鳥教程(runoob.com)</title></head><body><h1>我的第一個(gè)標(biāo)題</h1><p>我的第一個(gè)段落。</p></body></html>

          步驟 2: 另存為 HTML 文件

          然后選擇" 文件(F)->另存為(A) ",文件名為 runoob.html:

          當(dāng)您保存 HTML 文件時(shí),既可以使用 .htm 也可以使用 .html 擴(kuò)展名。兩者沒有區(qū)別,完全根據(jù)您的喜好。

          在一個(gè)容易記憶的文件夾中保存這個(gè)文件,比如 runoob

          步驟 3: 在瀏覽器中運(yùn)行這個(gè) HTML 文件

          啟動(dòng)您的瀏覽器,然后選擇"文件"菜單的"打開文件"命令,或者直接在文件夾中雙擊您的 HTML 文件,

          運(yùn)行顯示結(jié)果類似如下:

          Notepad++ 和 Sublime Text 還可以配合 Emmet 插件來提高編碼速度。

          Emmet 官網(wǎng):http://emmet.io/

          如您還有不明白的可以在下面與我留言或是與我探討QQ群308855039,我們一起飛!


          主站蜘蛛池模板: 国内国外日产一区二区| 亚洲AV无码一区二区三区电影| 国产亚洲一区二区三区在线| 亚洲av无码成人影院一区| 精品少妇一区二区三区视频| 福利视频一区二区牛牛| 人妻av综合天堂一区| 2021国产精品一区二区在线| 国产精品第一区第27页| 精品一区二区三区中文| 日韩视频一区二区| 国产精品久久久久久一区二区三区| 国产婷婷色一区二区三区| 国产福利电影一区二区三区| 国产一区二区在线观看视频| 亚洲AV无码一区二区三区鸳鸯影院 | 内射女校花一区二区三区| 亚洲色精品VR一区区三区| 久久精品一区二区三区资源网| 亚洲AV无码一区二三区| 精品视频一区二区三区在线播放| 无码人妻av一区二区三区蜜臀| 亚洲午夜一区二区三区| 日韩一区二区在线播放| 国产精品久久久久久一区二区三区| 久久久国产精品无码一区二区三区 | 一区二区免费电影| 亚洲福利视频一区二区| 国模精品一区二区三区| 国产亚洲福利精品一区| 精品无码人妻一区二区三区品| 国产日韩精品视频一区二区三区| 无码人妻一区二区三区一| 亚洲综合一区二区| 五十路熟女人妻一区二区 | 亚洲国产成人久久一区WWW| 成人免费一区二区三区| 中文字幕一区二区日产乱码| 国产91一区二区在线播放不卡| 中文字幕精品亚洲无线码一区应用| 手机看片一区二区|