PIC Vietnam

Go Back   PIC Vietnam > Ban Điều Hành > Tự giới thiệu

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Bài Trong Ngày Vi điều khiển

Tự giới thiệu Dành cho các thành viên hoặc các đơn vị kỹ thuật tự giới thiệu

 
 
Ðiều Chỉnh Xếp Bài
Prev Previous Post   Next Post Next
Old 13-10-2012, 08:01 PM   #11
PPCC
Đệ tử 2 túi
 
Tham gia ngày: Apr 2011
Bài gửi: 26
:
Script bằng AutoIt giúp lấy bài báo nhanh hơn

Chỉ dành cho các bạn lấy được bài báo, thay cho việc bấm link thông thường...

Mình có một vài script viết bằng AutoIt, thao tác chủ yếu:
- Lấy link doi/ieee/springer/... từ clipboard.
- (Nếu cần) soi trong nội dung file htm tải tạm về %temp% để tìm link download thực.
- Gọi địa chỉ link download thực lên trình duyệt (thường chương trình hỗ trợ download sẽ bắt được link này).


Paper Download Helper
Version 0.1:
- Work with IEEE link.
- Other link types are just opened normally!

Code:
#include <File.au3>
#include <String.au3>

Global $shortscrname = StringReplace(@ScriptName, ".au3", "")
Global $xToolTip = 2 * @DesktopWidth / 5
Global $yToolTip = @DesktopHeight - 80
TraySetToolTip("Paper Downloader: Copy a paper link and press F10")

ToolTip("Paper Downloader: Copy a paper link and press F10", $xToolTip, $yToolTip, $shortscrname, 1, 4)

HotKeySet("{F10}", "LinkOneByOne")
Sleep(2000)
ToolTip("")

While 1
WEnd

Func LinkOneByOne()
	$cliptext = ClipGet()

	If StringLeft($cliptext, 3) = '10.' Then $cliptext = 'http://dx.doi.org/' & $cliptext

	If StringInStr($cliptext, 'http://dx.doi.org/') Then ; such as, $cliptext='http://dx.doi.org/10.1049/el:19910787'
		_DownloadFile($cliptext, @TempDir, '_doi.htm')
		Local $ar
		$ielk = ''
		_FileReadToArray(@TempDir & '\_doi.htm', $ar)
		If Not @error Then
			For $el In $ar
				If StringInStr($el, 'ieeexplore.ieee.org') Then
					$ielk = $el
					$ielk = _StringBetween($ielk, '?arnumber=', '"')
					$ielk = $ielk[0]
					$ielk = 'http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=' & $ielk
				EndIf
			Next
		EndIf
;~ 		ConsoleWrite($ielk & @CRLF)
		If $ielk <> '' Then
			ShellExecute($ielk)
		EndIf
		FileDelete(@TempDir & '\_doi.htm')
	ElseIf StringInStr($cliptext, 'ieeexplore.ieee.org/') Then
		;http://ieeexplore.ieee.org/xpl/login.jsp?tp=&arnumber=256484&url=http%3A%2F%2Fieeexplore.ieee.org%2Fxpls%2Fabs_all.jsp%3Farnumber%3D256484
		;http://ieeexplore.ieee.org/Xplore/defdeny.jsp?url=http%3A%2F%2Fieeexplore.ieee.org%2Fstamp%2Fstamp.jsp%3Ftp%3D%26arnumber%3D1010664%26userType%3D&denyReason=-131&arnumber=1010664&productsMatched=null&userType=
		;http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=1566845&contentType=Conference+Publications
		$ielk = ''
		$ielk = StringSplit($cliptext, '&')
		For $el In $ielk
			If StringInStr($el, '?arnumber=') Then
				$ielk = StringSplit($el, '?arnumber=', 1)
				$ielk = $ielk[2]
				$ielk = 'http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=' & $ielk
				ExitLoop
			ElseIf StringInStr($el, 'arnumber=') Then
				$ielk = StringReplace($el, 'arnumber=', '')
				$ielk = 'http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=' & $ielk
				ExitLoop
			EndIf
		Next
;~ 		ConsoleWrite($ielk & @CRLF)
		If $ielk <> '' Then;ShellExecute('iexplore.exe', $ielk)
			ShellExecute($ielk)
		EndIf
	ElseIf StringLeft($cliptext, 4) = 'http' Then
		ShellExecute($cliptext)
	Else
		ToolTip("No available link was detected!", $xToolTip, $yToolTip, $shortscrname, 2, 4)
	EndIf
	Sleep(1200)
	ToolTip("")
EndFunc   ;==>LinkOneByOne

Func _DownloadFile($URLToDownload, $SavedPath, $FileName)
	Local $hDownload = InetGet($URLToDownload, $SavedPath & '\' & $FileName, 1, 1)
	Do
		Sleep(10)
	Until InetGetInfo($hDownload, 2) ;Check if the download is complete.
	InetClose($hDownload) ;Close the handle to release resources.
EndFunc   ;==>_DownloadFile
File exe tạo được từ script trên: http://www.mediafire.com/?34x59as3lqho5nv

thay đổi nội dung bởi: PPCC, 13-10-2012 lúc 08:15 PM.
PPCC vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
 

Tags
123456


Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến


Múi giờ GMT. Hiện tại là 11:05 PM.


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam