首页 > 编程 > VBScript > 正文

bookfind 通过ISBN序号获取图书连接的书名与作者的vbs代码

2020-06-26 18:30:32
字体:
来源:转载
供稿:网友
bookfind 通过ISBN序号获取图书连接的书名与作者的vbs代码,类似小偷程序,通过正则匹配,虽然现在已经无法使用,但代码不错,原理都有
 
核心代码:
复制代码代码如下:

If WScript.Arguments.UnNamed.Count <> 1 Then Syntax 
If WScript.Arguments.Named.Count > 1 Then Syntax 
blnTd = False 
If WScript.Arguments.Named.Count = 1 Then 
If UCase( WScript.Arguments.Named( 0 ) ) = "/TD" Then 
blnTd = True 
Else 
Syntax 
End If 
End If 
strISBN = WScript.Arguments.UnNamed( 0 ) 
strPgTitle = TitleFromHTML( "http://www.amazon.com/gp/product/" & strISBN & "/" ) 
strPattern = "Amazon.com: (.*): Books: (.*)$" 
strTitle = RegExpVal( strPattern, strPgTitle, 0 ) 
strAuthor = RegExpVal( strPattern, strPgTitle, 1 ) 
If blnTd Then 
strMsg = strISBN & vbTab & strTitle & vbTab & strAuthor & vbCrLf 
Else 
strMsg = vbCrLf & "Title : " & strTitle _ 
& vbCrLf & "Author : " & strAuthor _ 
& vbCrLf & "ISBN : " & strISBN 
End If 
WScript.Echo strMsg 
Function RegExpVal( strPattern, strString, idx ) 
On Error Resume Next 
Dim regEx, Match, Matches, RetStr 
Set regEx = New RegExp 
regEx.Pattern = strPattern 
regEx.IgnoreCase = True 
regEx.Global = True 
Set Matches = regEx.Execute( strString ) 
RegExpVal = Matches( 0 ).SubMatches( idx ) 
End Function 
Function TitleFromHTML( strURL ) 
Set ie = CreateObject( "InternetExplorer.Application" ) 
ie.Navigate strURL 
Do Until ie.ReadyState = 4 
WScript.Sleep 10 
Loop 
TitleFromHTML = ie.Document.Title 
ie.Quit 
End Function 
Sub Syntax 
strMsg = strMsg & vbCrLf & "BookFind.vbs, Version 1.11" & vbCrLf _ 
& "Display book title and author name for the specified ISBN number." & vbCrLf & vbCrLf _ 
& "Usage: CSCRIPT //NOLOGO BOOKFIND.VBS isbn [ /TD ]" & vbCrLf & vbCrLf _ 
& "Where: ""isbn"" is the ISBN (or ASIN) of the book to search for" & vbCrLf _ 
& " /TD changes the output format to tab delimited" & vbCrLf & vbCrLf _ 
& "Note: This script uses Amazon's web site to look up author and title." & vbCrLf _ 
& " To be precise, the data is extracted from the title of the page" & vbCrLf _ 
& " with URL http://www.amazon.com/gp/product/ followed by the ISBN." & vbCrLf _ 
& " That means this script will fail when Amazon changes the URLs." & vbCrLf & vbCrLf _ 
& "Written by Rob van der Woude" & vbCrLf _ 
& "http://www.robvanderwoude.com" 
Wscript.Echo( strMsg ) 
Wscript.Quit( 1 ) 
End Sub 

使用方法: 
CSCRIPT //NOLOGO BOOKFIND.VBS isbn [ /TD ] 
Where: "isbn" is the ISBN (or ASIN) of the book to search for 
/TD changes the output format to tab delimited 
Note: This script uses Amazon's web site to look up author and title. 
To be precise, the data is extracted from the title of the page 
with URL http://www.amazon.com/gp/product/ followed by the ISBN. 
That means this script will fail when Amazon changes the URLs.

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表