<progress id="pltbd"></progress><cite id="pltbd"><span id="pltbd"><ins id="pltbd"></ins></span></cite><strike id="pltbd"><dl id="pltbd"></dl></strike><strike id="pltbd"><i id="pltbd"><del id="pltbd"></del></i></strike>
<strike id="pltbd"></strike>
<strike id="pltbd"><dl id="pltbd"><del id="pltbd"></del></dl></strike>
<strike id="pltbd"><dl id="pltbd"><del id="pltbd"></del></dl></strike>
<strike id="pltbd"><i id="pltbd"><del id="pltbd"></del></i></strike>
<strike id="pltbd"></strike>
<strike id="pltbd"></strike><strike id="pltbd"></strike>
<strike id="pltbd"><dl id="pltbd"><del id="pltbd"></del></dl></strike><strike id="pltbd"></strike>
<span id="pltbd"></span>
<span id="pltbd"><video id="pltbd"></video></span>
<strike id="pltbd"></strike>
<strike id="pltbd"></strike>
<strike id="pltbd"></strike>
<ruby id="pltbd"><video id="pltbd"><del id="pltbd"></del></video></ruby>
<th id="pltbd"><video id="pltbd"></video></th>
CALIS館際互借系統文獻預處理程序設計 http://www.liqianming.com http://www.liqianming.com/LunWen/2017-02-02/93506.html 朱玉強 (山東師范大學圖書館,山東濟南250014) [摘要]針對館際互借員需要對用戶向CALIS系統提交的文獻請求進行大量重復性預處理操作的現狀,設計并實現基于網頁文檔對象的輔助程序,全自動檢索、獲取并向用戶推送免費資源,執行“本館運送”操作,以提升館際互借員操作體驗,有效節省圖書館經費。 [關鍵詞]CALIS 館際互借網頁文檔對象跨域訪問 [分類號]TP393 1 引言 CALIS管理中心于2004年6月21日啟動“館際互借/文獻傳遞服務網”,開展返還式“館際互借”

CALIS館際互借系統文獻預處理程序設計


  • 時間:2017-02-05 06:22:27
  • 來源:本站發布
  • 作者:朱玉強

朱玉強

(山東師范大學圖書館,山東濟南250014)

[摘要]針對館際互借員需要對用戶向CALIS系統提交的文獻請求進行大量重復性預處理操作的現狀,設計并實現基于網頁文檔對象的輔助程序,全自動檢索、獲取并向用戶推送免費資源,執行“本館運送”操作,以提升館際互借員操作體驗,有效節省圖書館經費。

[關鍵詞]CALIS 館際互借網頁文檔對象跨域訪問

[分類號]TP393

1 引言

CALIS管理中心于2004年6月21日啟動“館際互借/文獻傳遞服務網”,開展返還式“館際互借”及非返還式“文獻傳遞”服務[1]。以山東師范大學圖書館為例,除CALIS提供館際互借補貼外,該館還通過圖書館經費向讀者追加補貼,用戶幾乎全免費獲取非返還式電子全文。讀者通過CALIS免費獲取文獻后,往往不愿再去檢索本地館藏,有需求時直接向CALIS系統提交。為節省本館經費,館際互借員有必要對讀者申請預先處理,對本地有館藏或可通過免費途徑得到的文獻,直接執行“本館運送”操作。筆者通過CALIS館際互借官方QQ群調研,上述現象普通存在。故此通過操作網頁文檔對象等途徑編制程序,全自動預處理館際互借請求,可有效節省圖書館經費,提升館際互借員操作體驗。

2 需求及技術思路

CALIS館際互借系統依托網頁實現功能,故程序圍繞對網頁元素的自動操作展開。溫曉明[2]使用Python語言,通過向圖書館OPAC服務器提交POST請求的方式模擬人工操作網頁,檢測圖書館電子資源可用性;胡衛等[3]編制軟件,向HTTP服務器發送POST請求,取回服務器響應后的網頁源文件,模擬人工搜索、下載地震相關資料;張金等[4]為解決網頁表單數據重復填寫等問題,通過分析Web頁面結構,提出一種Web元素智能識別方法,實現自動化操作;陳江勇等[5]使用測試工具Selenium提供的API對Web界面元素所持有事件進行封裝,達到自動操作網頁元素、對Web應用程序進行自動測試的目的;任昌[6]介紹了綜合運用DOM樹路徑、DOM壓縮樹路徑以及參考點等方式進行網頁對象定位;張宗科[7]對于不能使用網絡蜘蛛下載的網頁,通過模擬按鍵等方式模擬人工打開、保存、關閉網頁系列操作,減輕人工重復勞動;楊延航等[8]介紹了使用ASP.NET實現向網頁上傳文件的方法。上述文獻或囿于應用環境,均未涉及異域數據集成環境中(下簡稱“跨域”)對網頁元素的操作。陳臘梅等[9]提出了使用XMLHTTP代理外加JSON技術解決AJAX跨域訪問和展現數據的問題,解決方案相對復雜。CALIS館際互借系統網頁雖未采用復雜的框架及跨域元素,但難免被嵌套使用。筆者除利用微軟提供的針對IE瀏覽器的二次開發接口操作網頁元素外,還利用Win32 API函數實現了跨域網頁元素的枚舉和操作,總體工作流程如圖1所示。

3 關鍵方法與技術

3.1 取網頁文檔對象、定位目標網頁元素

程序工作于Inter Explorer或用戶指定的IE內核瀏覽器。取瀏覽器句柄,篩選類名為“Inter Explorer_Server”(下簡稱“IES”)子句柄;操作IES,取網頁文檔對象;操作網頁文檔對象,實現模擬真人點擊或填表等。算法描述如下:輸入:Inter Explorer或IE內核瀏覽器。

輸出:可精確定位的目標網頁元素。

Step1:運行瀏覽器,使用FindWindow 或EnumWindows取頂級窗口句柄hwnd;使用FindWindowEx 或EnumChild?Windows取hwnd中ClassName為“Inter Explorer_Server”的子句柄hwnd_IES。

Step2:取hwnd_IES網頁文檔對象。易語言中核心代碼為:① Message = RegisterWindowMessageA (“WM_HTML_GETOBJECT”);

②SendMessageTimeout(hwnd_IES,Message,0,0,2,1000,ResourceNO);

③ObjectFromLresult(ResourceNO,{ 32,197,111,98,30,164,207,17,167,49,0,160,201,8,38,55 },0,網頁文檔對象)。

Step3:取網頁文檔對象中具體元素并操作。以“CALIS山東省文獻信息服務中心”館際互借員登錄界面[10]為例,“賬號”文本框源碼為“<INPUT style=“WIDTH:180px; COLOR:#999”id=userid name=userid value=圖書卡號/校園卡號/用戶名>”,自動填寫用戶名“zhuyq”可用以下代碼:

元素= 網頁文檔對象.對象型方法(“getElementBy?Id”,“userid”)

元素.寫屬性(“value”,“zhuyq”)

如元素無“id”和“name”,可使用“getElementsByTag?Name”取同類Tag元素集合,再據元素特殊屬性如矩形大小、坐標等篩選。如網頁含框架,還需搜索框架。對于跨域框架,如類似“<frame src=“http://符.elib.sdnu.edu.”>”則相對復雜,可調用IServiceProvider接口實現網頁元素的定位和操作[11],算法如圖2所示。

回到頂部

亚洲精品在线播放