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 国产精品视频久久久久久,91精品在线免费视频,亚洲欧美日韩在线线精品

          整合營銷服務商

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

          免費咨詢熱線:

          別找了,Html網頁自動跳轉頁面代碼全在這里了

          51rgb

          網頁自動跳轉頁面的代碼在很多時候都非常的有用,下面的是兩個簡單的例子。僅供參考。

          方案一,用<meta>里直接寫刷新語句:

          <html>

          <head>

          <meta http-equiv="Content-Language" content="zh-CN">

          <meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb2312">

          <meta http-equiv="refresh" content="5;url=http://www.51rgb.com">

          <title>html網頁自動跳轉代碼--西農大網站</title>

          </head>

          <body>

          測試:html網頁自動跳轉代碼<br/>

          你可以在這里寫下你想的一切東西!<br />

          如:西北農林科技大學是一所985、211院校。<br />

          </body></html>

          方案二,用javascript腳本來跳轉

          <html><head>

          <meta http-equiv="Content-Type" content="text/html; charset=gb2312">

          <title>正在進入西農大網站</title>

          </head>

          <body>

          <form name=loading>

          <p align=center> <font color="#0066ff" size="2">正在進入,請稍等</font><font color="#0066ff" size="2" face="Arial">...</font>

          <input type=text name=chart size=46 style="font-family:Arial; font-weight:bolder; color:#0066ff; background-color:#fef4d9; padding:0px; border-style:none;">

          <inputtype=text name=percent size=47 style="color:#0066ff; text-align:center; border-width:medium; border-style:none;">

          <script>

          var bar=0

          var line="||"

          var amount="||"

          count

          function count{

          bar=bar+2

          amount =amount + line

          document.loading.chart.value=amount

          document.loading.percent.value=bar+"%"

          if (bar<99)

          {setTimeout("count",100);}

          else

          {window.location =http://www.51rgb.com;}

          }</script>

          </p>

          </form><p align="center">

          測試:html網頁自動跳轉代碼<br/>

          你可以在這里寫下你想的一切東西!<br />

          如:西北農林科技大學是一所985、211院校。<br /><br />

          如果您的瀏覽器不支持跳轉,<astyle="text-decoration: none" ><font color="#FF0000">請點這里</font></a>.</p>

          </body>

          </html>

          ↓↓↓

          目中經常會出現點擊跳轉錨點的方法,比如給一個a標簽一個href=“#錨點”,然后要跳的錨點給個id=“錨點”,這樣就實現簡單的跳轉,但是這樣在url地址欄后面都會出現一個諸如www.csdn.net#錨點,然后你點擊給一次后退都是退回上一個選擇的錨點url,這里總結一些跳轉錨點的方法。

          第一種方法,也是最簡單的方法是錨點用<a>標簽,在href屬性中寫入DIV的id。如下:

          <!DOCTYPE html>

          <html>

          <head>

          <style>

          div {

          height: 800px;

          width: 400px;

          border: 2px solid black;

          }

          h2 {

          position: fixed;

          margin:50px 500px;

          }

          </style>

          </head>

          <body>

          <h2>

          <a href="#div1">to div1</a>

          <a href="#div2">to div2</a>

          <a href="#div3">to div3</a>

          </h2>

          <div id="div1">div1</div>

          <div id="div2">div2</div>

          <div id="div3">div3</div>

          </body>

          </html>

          這種方法的缺點是點擊錨點之后,瀏覽器的URL會發生變化,如果刷新可能會出現問題。

          第二種方法是在js事件中通過window.location.hash="divId"跳轉,但地址也會發生變化,感覺跟第一種方法沒區別,甚至更麻煩。

          第三種方法是用animate屬性,當點擊錨點后,頁面滾動到相應的DIV。接著上面的代碼,具體添加如下代碼:

          <script type="text/javascript" src="http://code.jquery.com/jquery-1.8.0.min.js"></script>

          <script type="text/javascript">

          $(document).ready(function() {

          $("#div1Link").click(function() {

          $("html, body").animate({

          scrollTop: $("#div1").offset().top }, {duration: 500,easing: "swing"});

          return false;

          });

          $("#div2Link").click(function() {

          $("html, body").animate({

          scrollTop: $("#div2").offset().top }, {duration: 500,easing: "swing"});

          return false;

          });

          $("#div3Link").click(function() {

          $("html, body").animate({

          scrollTop: $("#div3").offset().top }, {duration: 500,easing: "swing"});

          return false;

          });

          });

          </script>

          注意:運行上面的腳本的之前,先將為錨點增加相應的id,同時去掉href屬性。

          $("html, body")可以替換為響應的div,如果不起作用,試著給該div增加overflow:scroll屬性。

          另外,腳本可以進一步優化,自己來試試

          這樣做的好處是:URL地址不會變,同時點擊錨點時會自動響應scroll事件,不需要重新綁定。

          缺點是:如果頁面復雜的話,偏移值可能會發生變化需要算法輔助。

          第四種方法是用js的srollIntoView方法,直接用:

          document.getElementById("divId").scrollIntoView();

          比如:

          document.querySelector("#roll1").onclick = function(){

          document.querySelector("#roll1_top").scrollIntoView(true);

          }

          這里就是點擊id是#roll1的元素可以滾動到id是#roll1_top的地方,這里的#roll1和#roll1_top最好是一一對應的,

          這種方法的好處,是URL不會變,同時能夠響應相應的scroll事件,不需要算法什么的。代碼如下:

          <html>

          <head>

          <title>HTML5_ScrollInToView方法</title>

          <meta charset="utf-8">

          <script type="text/javascript">

          window.onload = function(){

          /*

          如果滾動頁面也是DOM沒有解決的一個問題。為了解決這個問題,瀏覽器實現了一下方法,

          以方便開發人員如何更好的控制頁面的滾動。在各種專有方法中,HTML5選擇了scrollIntoView()

          作為標準方法。

          scrollIntoView()可以在所有的HTML元素上調用,通過滾動瀏覽器窗口或某個容器元素,

          調用元素就可以出現在視窗中。如果給該方法傳入true作為參數,或者不傳入任何參數,那么

          窗口滾動之后會讓調動元素頂部和視窗頂部盡可能齊平。如果傳入false作為參數,調用元素

          會盡可能全部出現在視口中(可能的話,調用元素的底部會與視口的頂部齊平。)不過頂部

          不一定齊平,例如:

          //讓元素可見

          document.forms[0].scrollIntoView();

          當頁面發生變化時,一般會用這個方法來吸引用戶注意力。實際上,為某個元素設置焦點也

          會導致瀏覽器滾動顯示獲得焦點的元素。

          支持該方法的瀏覽器有 IE、Firefox、Safari和Opera。

          */

          document.querySelector("#roll1").onclick = function(){

          document.querySelector("#roll_top").scrollIntoView(false);

          }

          document.querySelector("#roll2").onclick = function(){

          document.querySelector("#roll_top").scrollIntoView(true);

          }

          }

          </script>

          <style type="text/css">

          #myDiv{

          height:900px;

          background-color:gray;

          }

          #roll_top{

          height:900px;

          background-color:green;

          color:#FFF;

          font-size:50px;

          position:relative;

          }

          #bottom{

          position:absolute;

          display:block;

          left;0;bottom:0;

          }

          </style>

          </head>

          <body>

          <button id="roll1">scrollIntoView(false)</button>

          <button id="roll2">scrollIntoView(true)</button>

          <div id="myDiv"></div>

          <div id="roll_top">

          scrollIntoView(ture)元素上邊框與視窗頂部齊平

          <span id="bottom">scrollIntoView(false)元素下邊框與視窗底部齊平</span>

          </div>

          </body>

          </html>

          個人建議使用第四種方法。

          一篇文章用VBA下載一部完整小說,VBA除了可以輕松下載一部《水滸傳》小說,還有什么用途?VBA獲取網頁信息(即爬蟲技術)其用處可多了。今天介紹各位小伙用來監控的自選股票的主力資金變動的情況,愿大伙在2022年股票市場長紅!也是把上期一個網友評論的內容(有些數據藏得很深,怎么找真正的地址……)回應一下。

          東富的主力資金流入圖

          有一個理論我們會經常聽到,A股的票漲漲跌跌主要是因為有大資金在活動、在操作,一些股票不斷上漲是因為有主力資金不斷買入,反而不斷下跌是因為主力資金不斷流出。喜歡做短線的,我們實時觀察這些主力資金就變得很有意義,很多網站都有主力資金的數據,但是要對多支股票進行觀察,則需要一個個打開網頁、APP或者電腦程序查看數據,這樣耗時也不能多支股票同框對比。還有一些小伙正上班,打開股票軟件給老板或同事看到,總覺得怪怪的,當然這不是鼓勵一些小伙上班玩股票,純屬用項目和大家一起交流學習。

          用VBA就可以很輕松解決上述兩個問題。大伙先看看效果吧!

          點擊按鈕更新數據:2022年12月21日數據

          完整代碼如下:

          Sub maincapital()
          
          Application.DisplayAlerts = False
          '循環A列數據,解析出相應股票代碼
          For Each cl In Range("a2:a" & Range("a2").End(xlDown).Row)
          stock_code = Right(cl, 6) '取右邊6位字符
          Dim strText, stcok_code As String
          '拼接構造網址
          URL = "https://push2.eastmoney.com/api/qt/ulist.np/get?cb=fltt=2&secids=1." + stock_code + "&fields=f62%2Cf184%2Cf66%2Cf69%2Cf72%2Cf75%2Cf78%2Cf81%2Cf84%2Cf87%2Cf64%2Cf65%2Cf70%2Cf71%2Cf76%2Cf77%2Cf82%2Cf83%2Cf164%2Cf166%2Cf168%2Cf170%2Cf172%2Cf252%2Cf253%2Cf254%2Cf255%2Cf256%2Cf124%2Cf6%2Cf278%2Cf279%2Cf280%2Cf281%2Cf282&ut=b2884a393a59ad64002292a3e90d46a5&_=1641268581776"
          With CreateObject("MSXML2.XMLHTTP")
              .Open "GET", URL, False
              .send
              strText = .responseText
          End With
          
          '判斷是有null,解決深A股和上A股網址不同拼接問題,secids=0.是深A;secids=1.是上A。
          Dim regStrTest As Object
          With CreateObject("VBScript.Regexp")
              .Pattern = "null"
              Set regStrTest = .Execute(strText)
          End With
          If regStrTest.Count > 0 Then
          '如果出現null則拼接構造一個新網址
          URL = "https://push2.eastmoney.com/api/qt/ulist.np/get?cb=fltt=2&secids=0." + stock_code + "&fields=f62%2Cf184%2Cf66%2Cf69%2Cf72%2Cf75%2Cf78%2Cf81%2Cf84%2Cf87%2Cf64%2Cf65%2Cf70%2Cf71%2Cf76%2Cf77%2Cf82%2Cf83%2Cf164%2Cf166%2Cf168%2Cf170%2Cf172%2Cf252%2Cf253%2Cf254%2Cf255%2Cf256%2Cf124%2Cf6%2Cf278%2Cf279%2Cf280%2Cf281%2Cf282&ut=b2884a393a59ad64002292a3e90d46a5&_=1641268581776"
          With CreateObject("MSXML2.XMLHTTP")
              .Open "GET", URL, False
              .send
              strText = .responseText
          End With
          End If
          
          Rnum = cl.Row '股票名稱所在行號
          '利用正則表達式得到我們想要的內容,并寫相應的表格
          With CreateObject("VBScript.Regexp")
              .Pattern = """f62"":(.*?),"
          Cells(Rnum, 2) = Round(.Execute(strText)(0).submatches.Item(0) / 100000000, 2) '主力凈流進
              .Pattern = """f184"":(.*?),"
          Cells(Rnum, 3) = Round(.Execute(strText)(0).submatches.Item(0) / 100, 2) '主力凈比
              .Pattern = """f66"":(.*?),"
          Cells(Rnum, 4) = Round(.Execute(strText)(0).submatches.Item(0) / 100000000, 2)  '超大單凈流進
              .Pattern = """f69"":(.*?),"
          Cells(Rnum, 5) = Round(.Execute(strText)(0).submatches.Item(0) / 100, 2) '超大單凈比
              .Pattern = """f72"":(.*?),"
          Cells(Rnum, 6) = Round(.Execute(strText)(0).submatches.Item(0) / 100000000, 2)  '大單凈流進
              .Pattern = """f75"":(.*?),"
          Cells(Rnum, 7) = Round(.Execute(strText)(0).submatches.Item(0) / 100, 2) '大單凈比
              .Pattern = """f78"":(.*?),"
          Cells(Rnum, 8) = Round(.Execute(strText)(0).submatches.Item(0) / 100000000, 2)  '中單凈流進
              .Pattern = """f81"":(.*?),"
          Cells(Rnum, 9) = Round(.Execute(strText)(0).submatches.Item(0) / 100, 2) '中單凈比
              .Pattern = """f84"":(.*?),"
          Cells(Rnum, 10) = Round(.Execute(strText)(0).submatches.Item(0) / 100000000, 2)  '小單凈流進
              .Pattern = """f87"":(.*?),"
          Cells(Rnum, 11) = Round(.Execute(strText)(0).submatches.Item(0) / 100, 2) '小單凈比
              .Pattern = """f64"":(.*?),"
          Cells(Rnum, 12) = Round(.Execute(strText)(0).submatches.Item(0) / 100000000, 2) '超大單流入
              .Pattern = """f65"":(.*?),"
          Cells(Rnum, 13) = Round(.Execute(strText)(0).submatches.Item(0) / 100000000, 2) '超大流出
              .Pattern = """f70"":(.*?),"
          Cells(Rnum, 14) = Round(.Execute(strText)(0).submatches.Item(0) / 100000000, 2) '大單流入
              .Pattern = """f71"":(.*?),"
          Cells(Rnum, 14) = Round(.Execute(strText)(0).submatches.Item(0) / 100000000, 2) '大單流出
              
          End With
          Next
          Application.DisplayAlerts = True
          End Sub

          這個項目用到的幾個重要知識:

          1. 獲取動態網頁加載數據的真正網址;
          2. 使用CreateObject("MSXML2.XMLHTTP")對象獲取網頁信息,基本框架可以參考用VBA下載一部完整小說;
          3. 使用CreateObject("VBScript.Regexp")正則表達式對象,處理網頁信息并寫入表格;
          4. 點擊按鈕調用函數

          獲取動態網頁加載數據的真正網址

          我們在目標網頁點擊右鍵,并點擊“查看網頁源代碼”后,當使用cttl+f鍵查看我們想要獲取的信息進行查看(這里我輸入主力凈比數據-42.76),發現并沒有相關的數據。

          在源代碼網頁同時按cttl+f鍵查看

          通過這個方法基本可以判斷目標網頁的部分數據是使用動態加載的方式。簡單的動態加載數據,可以通過以下兩步獲取真正的網址:

          第一步:打開瀏覽器控制臺。演示使用的瀏覽器是chrome,按下F12鍵打開瀏覽器控制臺,再次刷新網頁,在控制臺找到并點擊擴大鏡小按鈕,打開search對話框,這里輸入想找的數據(這里我輸入主力凈比數據42.76)后,按下回車鍵或輸入框旁邊的刷新按鍵,就會彈出一個“get”字符及一些類似網址的內容,點擊彈出的內容,右下面對話框會彈出相應的內容(對話框的菜單有Headers,Preview,Response……)

          圖中主力凈比數據為-42.73和在輸入框的數據不一致,是因為資金數據動態變化了

          第二步:找到加載數據的網址。點擊Headers可以看到Resquest URl字符,后面網址就是加載數據真正的網址,復制網址在瀏覽器打開,我們可以看到相應的數據內容。獲得這網址后,就可以通過VBA訪問這個網址獲取相應的數據,按下來的工作就好辦了。

          目標數據的網址


          使用CreateObject("MSXML2.XMLHTTP")對象獲取網頁信息

          stock_code = Right(cl, 6) '取右邊6位字符
          Dim strText, stcok_code As String '
          '拼接構造網址
          URL = "https://push2.eastmoney.com/api/qt/ulist.np/get?cb=fltt=2&secids=1." + stock_code + "&fields=f62%2Cf184%2Cf66%2Cf69%2Cf72%2Cf75%2Cf78%2Cf81%2Cf84%2Cf87%2Cf64%2Cf65%2Cf70%2Cf71%2Cf76%2Cf77%2Cf82%2Cf83%2Cf164%2Cf166%2Cf168%2Cf170%2Cf172%2Cf252%2Cf253%2Cf254%2Cf255%2Cf256%2Cf124%2Cf6%2Cf278%2Cf279%2Cf280%2Cf281%2Cf282&ut=b2884a393a59ad64002292a3e90d46a5&_=1641268581776"
          With CreateObject("MSXML2.XMLHTTP")
              .Open "GET", URL, False
              .send
              strText = .responseText
          End With
          
          '判斷是有null,解決深A股和上A股網址不同拼接問題,secids=0.是深A;secids=1.是上A。
          Dim regStrTest As Object
          With CreateObject("VBScript.Regexp")
              .Pattern = "null"
              Set regStrTest = .Execute(strText)
          End With
          If regStrTest.Count > 0 Then
          '如果出現null則拼接構造一個新網址
          URL = "https://push2.eastmoney.com/api/qt/ulist.np/get?cb=fltt=2&secids=0." + stock_code + "&fields=f62%2Cf184%2Cf66%2Cf69%2Cf72%2Cf75%2Cf78%2Cf81%2Cf84%2Cf87%2Cf64%2Cf65%2Cf70%2Cf71%2Cf76%2Cf77%2Cf82%2Cf83%2Cf164%2Cf166%2Cf168%2Cf170%2Cf172%2Cf252%2Cf253%2Cf254%2Cf255%2Cf256%2Cf124%2Cf6%2Cf278%2Cf279%2Cf280%2Cf281%2Cf282&ut=b2884a393a59ad64002292a3e90d46a5&_=1641268581776"
          With CreateObject("MSXML2.XMLHTTP")
              .Open "GET", URL, False
              .send
              strText = .responseText
          End With
          End If

          上面代碼的說明:

          1、使用right(目標字符串,字符個數)函數獲取目標字符串從右邊數起第幾個字符。

          2、做兩次網址請求是因為深A股和上A股的數據網址是有區別,網址的參數“secids=0.+ 股票代碼”是深A;“secids=1.+股票代碼”是上A。如果人為對每支股票判斷是上A還深A會很復雜,所以使用正則表達式,對請求數據內容出現“null”字樣的網址,則更換網址參數。如下圖:

          上A網址請求結果

          深A網址請求結果


          使用CreateObject("VBScript.Regexp")正則表達式對象獲取數據

          For Each cl In Range("a2:a" & Range("a2").End(xlDown).Row)
          ……
          Rnum = cl.Row '股票名稱所在行號
          '利用正則表達式得到我們想要的內容,并寫相應的表格
          With CreateObject("VBScript.Regexp")
              .Pattern = """f62"":(.*?)," 'VBA的英文的雙引號
          Cells(Rnum, 2) = Round(.Execute(strText)(0).submatches.Item(0) / 100000000, 2) '主力凈流入
              .Pattern = """f184"":(.*?),"
          Cells(Rnum, 3) = Round(.Execute(strText)(0).submatches.Item(0) / 100, 2) '主力凈比
              .Pattern = """f66"":(.*?),"
          ……

          上面代碼的說明:

          1、Range("a2").End(xlDown)是表示定位從A2單元往下最后一個不空值的單元格。

          2、cl.Row是表示單元格的行數,Range("A1").Row,Cells(1, 1).Row都可以獲取單元格行數,列值則是Range("A1").Column和Cells(1, 1).Column。

          3、.Pattern = """f62"":(.*?)," 是正則表達式(網頁的內容是:"f62":-15043563520.0),VBA的英文的雙引號用正則表式表示則是兩個雙引號,即是""。"f62":后面數據就是主力凈流入的數據,用(.*?)表示。再用.submatches.Item(0)得到目標數據,這個數據是以元為單位,網頁顯示的是億,所以要/100000000。

          4、Round(目標數據,小數點位數)是取多少位小數的方法。


          點擊按鈕調用函數

          Private Sub CommandButton1_Click()
          Call maincapital '調用函數
          End Sub



          在這總結一下VBA抓取數據主要步驟:

          分析網站->>分析網頁數據->>處理網頁數據->>儲存網頁數據

          歡迎大家評論及提意見,相互學習,提高效率,創造價值。


          主站蜘蛛池模板: 国产福利微拍精品一区二区| 亚洲色无码专区一区| 精品国产亚洲一区二区三区| 国产一区二区三区在线2021| 亚洲一区二区成人| 久久er99热精品一区二区| 天海翼一区二区三区高清视频| 免费人妻精品一区二区三区| 精品福利一区二区三区| 日韩人妻一区二区三区蜜桃视频| 日韩国产免费一区二区三区| 亚洲国产精品成人一区| 一本AV高清一区二区三区| 男插女高潮一区二区| 亚洲性日韩精品一区二区三区| 3d动漫精品成人一区二区三| 一区二区在线视频免费观看| 末成年女AV片一区二区| 一区二区三区四区精品| 亚洲一区在线视频观看| 久久久99精品一区二区| 中文激情在线一区二区| 免费看一区二区三区四区| 天堂资源中文最新版在线一区| 亚洲第一区精品观看| 国产萌白酱在线一区二区| 日韩精品一区二区三区老鸭窝| 无码欧精品亚洲日韩一区| 国产美女口爆吞精一区二区| 免费高清av一区二区三区| 国产精品香蕉一区二区三区| 日韩人妻一区二区三区免费| 久久精品一区二区东京热| 中文字幕精品亚洲无线码一区应用 | 无码av人妻一区二区三区四区| 91福利视频一区| 最新中文字幕一区二区乱码 | 一区精品麻豆入口| 国产精品一区12p| 国产一区二区电影在线观看| 亚洲一区影音先锋色资源|