1. 程式人生 > >監控網頁內容,發現需要的內容後彈框和聲音提醒

監控網頁內容,發現需要的內容後彈框和聲音提醒

幫朋友的忙寫了個小應用,他需要每隔一段時間自動訪問一個網頁,如果發現特定的內容就彈框提醒和聲音提醒,一條訊息已經提醒過了就不用再次提醒了,只有遇到新的才提醒。 這是一個小功能,一會兒就搞完了,把裡面的知識點簡單梳理一下: 1.定時訪問網頁: (1)定時器jdk自帶了,直接使用就行. (2)訪問網頁抓取內容可以使用httpclient,這是比較常用的框架.
 GetMethod getMethod = new GetMethod(newUrl);
     int statusCode = httpClient.executeMethod(getMethod);
     byte[] responseBody = getMethod.getResponseBody();

2.解析網頁,查詢是否包含所需要內容
InputStream inputStream = new ByteArrayInputStream(bytes);
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
for (String line = reader.readLine(); line != null; line = reader.readLine()) {
//比較判斷邏輯....
}

3.彈框提醒
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.Toolkit;

import javax.swing.JLabel;
import javax.swing.WindowConstants;

public class DialogMessage extends javax.swing.JFrame {
    private JLabel text;
    Toolkit tk = Toolkit.getDefaultToolkit();
    Dimension screenSize = tk.getScreenSize();
    int height = screenSize.height;
    int width = screenSize.width;
    private String str = null;

    public DialogMessage(String str) {
        this.str = str;
        new Thread(new Runnable() {
            @Override
            public void run() {
                initGUI();
            }
        }).start();
    }

    private void initGUI() {
        try {
            setUndecorated(true);
            setLocationRelativeTo(null);
            setVisible(true);
            setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
            {
                text = new JLabel("<html>" + str + "</html>", JLabel.CENTER);
                getContentPane().add(text, BorderLayout.CENTER);
                text.setBackground(new java.awt.Color(255, 251, 240));
            }
            pack();
            setBounds(width - 380, height - 150, 360, 100);
            try {
                Thread.sleep(9000);
            } catch (InterruptedException e1) {
                e1.printStackTrace();
            }
            dispose();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

}


4.聲音提醒
//Toolkit.getDefaultToolkit().beep();//系統預設提示音
Clip clip = AudioSystem.getClip();//呼叫外部檔案定義的聲音
AudioInputStream inputStream = AudioSystem.getAudioInputStream(SoundMessage.class.getResourceAsStream(url));
clip.open(inputStream);
clip.start();


最後,附上完整程式碼下載地址:http://download.csdn.net/detail/lk_blog/9150901

相關推薦

監控網頁內容發現需要內容聲音提醒

幫朋友的忙寫了個小應用,他需要每隔一段時間自動訪問一個網頁,如果發現特定的內容就彈框提醒和聲音提醒,一條訊息已經提醒過了就不用再次提醒了,只有遇到新的才提醒。 這是一個小功能,一會兒就搞完了,把裡面

java資料結構初學(記錄)單鏈表交換兩節點(3)可與之前寫的進行對比(程式碼優化)——如果後續徹底搞明白將精煉此部分內容刪除部分內容

public void swap(String number1, String number2){                  // 定義節點         StudentNode t1,t2,t3,t4;         /**          *        

python查詢功能查詢檔案內容獲取需要的部分並返回很實用的

要實現的功能__name__系統變數設計規範python檔案只寫功能,不會執行的功能可以執行的部分,寫在測試程式碼時也寫在這裡開始寫功能選單響應字典 執行響應如何一步就從裡層迴圈直接退出全部的讀檔案並在

python3 簡單實現從csv文件中讀取內容並對內容進行分類統計

tmp spa writer ict 打開文件 while 類型 spl blog 新手python剛剛上路,在實際工作中遇到如題所示的問題,嘗試使用python3簡單實現如下,歡迎高手前來優化import csv #打開文件,用with打開可以不用去特意關閉file了

jq實現展開全部內容收起全部內容

false pre console log subst ext height con 內容 1.內容超出就隱藏一部分。 效果 2.實現代碼: js部分涉及到多個 var contents=[];var maxheight=150;for (var i=0;i<

轉載大牛所寫內容MAC 訊息驗證編碼的使用相關概念非我所寫我只是備忘檢視並加註解一些紅色字型內容

  資訊保安基礎知識 MAC訊息驗證碼及金鑰管理問題   版權宣告:本文為博主原創文章,未經博主允許不得轉載。 原文地址https://blog.csdn.net/a359680405/article/details/41518685   &n

PHPCMS V9頻道頁迴圈子欄目內容(子欄目為單頁則輸出標題內容為列表則輸出欄目名稱分頁列表)

注意:頻道下的子欄目最多隻能有一個分頁列表欄目(否則分頁會有問題),單頁面不限。效果如下圖:頻道頁模板如下:<div class="prointro"> <?php $page = $

可以輸入的下拉可以篩選內容可輸入篩選下拉(原創)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/

下載的STM32代碼打開工程出“Using an MDK Version 4 Project"

STM32F4原因:下載的代碼是keil4寫的,用keil5打開工程就找不到器件庫。(註:同款芯片的前提下)方法:兼容方式:Migrate to Device Pack 打開下載的程序文件,隨便打開一個FWLIB文件夾的文件,查看程序的DFP.Pack的版本點擊 Migrate to Device Pack

git快速拉取遠端程式碼需要麻煩的配置使用者名稱密碼

使用HTTPS協議,有一種簡單粗暴的方式是在遠端地址中帶上密碼。 git remote set-url origin http://yourname:[email protected]/yourname/project.git

解決jsp上傳檔案重啟tomcat文件資料夾自動刪除

吼吼,我遇到的問題是這樣的...... 我寫了一個圖片上傳的方法,上傳時,判斷沒有這個目錄就自動建立一個。 然後開始上傳圖片,能成功,能在伺服器找到資料夾和相應的檔案。但是,重啟專案,或者清理快取之後,圖片和資料夾就會自動被刪除,不見了。 先說解決辦法吧,後面在分析: 1

java通過反射需要傳了類名引數就可以根據不同引數的構造方法例項化物件

轉載自:http://www.jianshu.com/p/69ca44916ebf 程式碼塊 @requires_authorization private Object reflateInstance(String className, Object[] args)th

[iOS] “是否允許“xxx”使用數據”,在iOS10之後首次安裝App會讓用戶授權問題解決方案。

log 引導圖 決定 問題 應對 mil ima 移動 bsp 一、為什麽會彈 “是否允許使用數據”?   因為按照我們天朝的工信部要求,用戶再使用應用的過程中,如果要使用移動數據必須要用戶授權,其實這是好事,是為了保護用戶的流量或者話費不會無端的被扣除。所以蘋果在 iOS

IOS UIAlertController (ios 9.0 代替了UIAlertView UIActionSheet下)

[摘要:正在IOS 9.0 後 蘋果沒有 UIActionSheet 由UIAlertController取代二者 用操縱器將二者開兩為一 很簡略 輕易] 在IOS 9.0 後 蘋果官方宣佈不再或不推薦使用UIAlertView 和 UIActionSheet 由UIAle

jQuery獲取Select選擇的Text(文字資訊) Value屬性的值select語法解釋;單選複選

地址:http://www.cnblogs.com/yaoshiyou/archive/2010/08/24/1806939.html  jQuery獲取Select選擇的Text和Value: 語法解釋: 1. $("#select_id").change(function(){

小程式 modal 出鍵盤 上移

<modal hidden="{{email}}" class='modal' title="請輸入郵箱地址" confirm-text="提交" cancel-text="取消" bindcancel="cancel" bindconfirm="confirm">

form表單提交提示

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); %> <!DOCTYPE HTML PUBLIC "-/

將用pillow處理的圖片直接生成內容返回到網頁

我們可以用 Django 直接把生成的內容返回到網頁,以下是操作過程: from django.utils.six import BytesIO#檢視層程式碼 def home(request): image=Image.open(r'D:\webtest\untitled1\app01\aaa.pn

近日有需要寫點C#程式有用到Dataset資料集SQLite資料庫由於我從來就不擅長記各種程式語言的語法所以在查閱一堆資料留下以下內容備忘: 一、SQLite操作直接貼程式碼很簡單

近日有需要寫點C#程式,有用到Dataset資料集和SQLite資料庫,由於我從來就不擅長記各種程式語言的語法,所以在查閱一堆資料後,留下以下內容備忘:   一、SQLite操作,直接貼程式碼,很簡單:       //建立一個數據庫檔案     string  d

今天做一個項目的時候要在一個編輯的jsp頁面的textarea標簽設置value屬性結果發現他沒有value屬性但是是編輯頁面又必須要回顯要修改的內容,所以在參考了w3cschool之後很輕松的解決了這個問題。

w3cschool 一個 ansi cli enc per table prefix cin 今天做一個項目的時候,要在一個編輯的jsp頁面的textarea標簽設置value屬性,結果發現他沒有value屬性,但是是編輯頁面又必須要回顯要修改的內容,所以在參考了w3csc