标题: [转贴] VBScript脚本bookfind通过ISBN序号获取图书连接的书名与作者 [打印本页]
作者: find 时间: 2012-2-24 13:31 标题: VBScript脚本bookfind通过ISBN序号获取图书连接的书名与作者
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.
http://www.jb51.net/article/29249.htm
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |