Pages - Menu

2018年10月18日 星期四

[Blogger] Google Blogger Widget Quote 每秒一句

前幾篇的
Windows 7 玩 Python 爬蟲 use Scrapy
Scrapy 部署至ScrapingHub 上以及錯誤解法
ScrapingHub 的API使用方式
這些都是為了我的每秒一句做的準備,重新整理時,就會產生新的一句話(總數量500筆)
這是scrapingHub的限制,我也沒辦法。
為什麼叫每秒一句?因為每秒重新整理一次就會產生一句話XDDDD
image
SNAGHTMLb155db3
今年的目標,我終於完成了。
自從看到博客來有每日一句後,
就在想為啥不能撈出來一直輪撥。
(看書時,看到喜歡的字句總會抄下來,但沒有紀錄出處..算是一大敗筆)


以下文章開始





邏輯沒啥特別的,就json撈出資料,隨機亂數產生,
看抓到哪個資料就是那個了。
程式參考:
Math.random()取得某區間內的隨機亂數
jsbin測試程式
用javascript取得json檔


<style>

#books_update_widget {
      border-radius: 5px;
background-color:#fff;
border:solid #878b90 10px;
-webkit-box-shadow: 0px 0px 4px 1px #595959,
inset 0px 0px 0px 1px #7D730B;
-moz-box-shadow: 0px 0px 4px 1px #595959,
inset 0px 0px 0px 1px #7D730B;
box-shadow: 0px 0px 4px 1px #595959,
inset 0px 0px 0px 1px #7D730B;
padding:15px 10px 35px 15px;

}
#books_update_widget a {
      color: #00635d;
}
.books_footer {
     margin-bottom:10px;
     font-size:7px;
     text-align:right;
}
</style>
<div id="books_update_widget">
<p id="quote"></p>
   <div>
     <p>出處:<span id="source"></span><p>
     <p>作者:<span id="author"></span></p>
   </p></p></div>
<hr />
    <div id="books"footer">From <a href="https://activity.books.com.tw/everylettermatters/sentence/latest"  target="_blank" >博客來-每日一句</a> </div>
<div>
<script>
function loadJSON(path, success, error)
{
     var xhr = new XMLHttpRequest();
     //取得XMLHttpRequest物件,設定非同步傳輸完成函式"onreadystatechange"
     xhr.onreadystatechange = function()
     {
         if (xhr.readyState === 4) {
             if (xhr.status === 200) {
                 if (success)
                     success(JSON.parse(xhr.responseText));
                     //讀檔成功時就將檔案內容當成字串,進行JSON解析
             } else {
                 if (error)
                     error(xhr);
                     //讀檔失敗時就回傳錯誤訊息
             }
         }
     };
     xhr.open("GET", path, true);
     // 初始設定
     xhr.send();
     // 傳輸
}
  function getRandom(min,max){
     return Math.floor(Math.random()*(max-min+1))+min;
};
loadJSON('https://storage.scrapinghub.com/items/342769/3/17?apikey=579b8b8f14ce4a83bd876d25e253a1e3&format=json',
          function(data) {
             var rand = getRandom(1,500)
             var a = data;
             document.getElementById("quote").innerHTML = a[rand].content;
             document.getElementById("source").innerHTML = a[rand].source;
             document.getElementById("author").innerHTML = a[rand].author;
            
         },
          function(xhr) { console.error(xhr); }
);
</script></div></div>

沒有留言:

張貼留言