Browsing throughSpyderchat I came across
m http://techinfo.toyota.com/ (http://techinfo.toyota.com/) m
where it seems for a $10 24 hour subscription you can download a significant amount of information. I couldn't understand what s:oops: :oops: s:oops: - all in abbreviation!
Has anybody here done this? Is the info for a US car that different from UK? Do Toyota do a Europe/UK version? Any other views?
roger
its only available to people with a credit card registered to a US address... Otherwise it'd be a brilliant resource.
Quote from: "GSB"its only available to people with a credit card registered to a US address... Otherwise it'd be a brilliant resource.
If you're interested in it, you should ask your CC-company about adding another address to your card. I have a secondary "dummy" US address on mine, just for things like this. Doesn't even cost a thing...just explain that you have a shared holiday village in US and blahblahblah s;) ;) s;)
Here's at least one actual usable address:
P. O. Box ????
Beverly Hills
CA 90210
USA
Replace the ?'s with numbers, don't wanna give out mine. And yes, I've been watching Beverly Hills 90210 when it came out s:lol: :lol: s:lol:
Someone with username Green or Greene (now "Guest"... got banned) wrote a "spider" program that will download the whole kit and kaboodle automatically, but you need some sort of interpreter or something to use it... I figured I could download the old fashioned way sooner than figure that out. Search through Spyderchat for "BGB" or "Big Green Book" and you may come across a link to his code. I may also have it buried on my computer somewhere. Worst case, you'll spend 2-3 hours downloading individual PDFs (1 or more pages per PDF) and organizing them into folders like "Body Mechanical" and "Body Electrical" or something of that nature. You could even combine them all into one big PDF with bookmarks if you were ambitious. You can also download Technical Service Bulletins (TSBs), Electrical Wiring Diagrams (EWDs), and other Toyota Tech pubs, while you are at it. I highly recommend doing it.
Aha, here it is. You need "ruby", whatever that is.
===================================
#!/usr/local/bin/ruby16
require 'html-parser'
require 'formatter'
require 'tempfile'
# Spider all the PDFs on the form on a techinfo.toyota.com page to the
# local machine.
class SpiderTTI
class JSRedirectParser < HTMLParser
def initialize(script_handler)
@script_function = script_handler
super(NullFormatter.new)
end
def handle_data(data)
if @lasttag == "script"
@script_function.call(data)
end
end
end
class DocumentListPageParser < HTMLParser
def initialize(option_handler)
@option_function = option_handler
super(NullFormatter.new)
end
def do_option(*args)
@option_function.call(*args)
end
end
def initialize(hostname)
# Use something as the external downloader to handle the complex
# persistent authentication (limited-use session cookies)
@downloader = lambda {|url, localfile|
# If there's no hostname, add one.
if url !~ /^[[:alnum:]]+:///
url = "http://" + hostname + (url[0, 1] == "/" ? "" : "/") + url
end
system("kfmclient", "copy", url, localfile)
# sometimes... kfmclient "exits" for us but the dialog sticks around
}
@hostname = hostname
end
private
# Translate a remote URL to a local (safe, relative) URL and make any
# directories it needs.
def local_filename(url)
path_components = url.split(//+/)
if path_components[0].empty? || path_components[0] =~ /:$/
path_components.shift()
end
# Delete "." and ".." entries, everything else is fair game.
path_components.delete_if {|component| component =~ /^..?$/}
if path_components.size == 1
return path_components
end
fullpath = path_components[0]
path_components[1..-1].each {|subdir|
begin
Dir.mkdir(fullpath)
rescue Errno::EEXIST
end
fullpath.concat("/").concat(subdir)
}
return fullpath
end
def download_pdfs(pdfs)
pdfs.each {|pdf|
printf("Downloading PDF %s.n", pdf)
@downloader.call(pdf, local_filename(pdf))
}
end
public
def spider(url)
printf("Spidering %s...n", url)
newurls = []
option_function = lambda {|args|
value = args.find {|arg| arg[0] == "value"}
if value
newurls.push(value[1].gsub(/(^"|"$)/, ""))
end
}
process_forms = DocumentListPageParser.new(option_function)
begin
e = ENV["TMPDIR"]
ENV["TMPDIR"] = "."
t = Tempfile.new($0)
ensure
ENV["TMPDIR"] = e
end
File.unlink(t.path)
@downloader.call(url, t.path)
File.open(t.path, "r") {|forms_file|
forms_file.each_line {|line| process_forms.feed(line)}
}
process_forms.close()
newurls.each {|redirect_url|
pdfurls = []
script_function = lambda {|jsline|
if jsline =~ / window.open('([^']+)',/
pdfurls.push($1)
end
}
process_redirect = JSRedirectParser.new(script_function)
begin
e = ENV["TMPDIR"]
ENV["TMPDIR"] = "."
t = Tempfile.new($0)
ensure
ENV["TMPDIR"] = e
end
File.unlink(t.path)
@downloader.call(redirect_url, t.path)
File.open(t.path, "r") {|redirect_file|
redirect_file.each_line {|line| process_redirect.feed(line)}
}
process_redirect.close()
download_pdfs(pdfurls)
}
end
end
if ARGV.size == 0
$stderr.puts("usage: #{$0} full-URL [...]")
exit(1)
end
if ARGV[0] !~ /^[[:alnum:]]+://([^/]+)//
$stderr.printf("Couldn't find host name from URL %sn", ARGV[0])
exit(1)
end
spider = SpiderTTI.new($1)
ARGV.each {|url|
spider.spider(url)
}
If the Spyder downloads are on a same page, you could use some download manager to get them all with a few clicks. Works if they are on several pages as well, you just have to click a more...but you can just click through them in no time and let the manager handle the actual downloads while you sleep/work s8) 8) s8)
ruby?
m http://www.ruby-lang.org/en/ (http://www.ruby-lang.org/en/) m
Now I am totally confused s:oops: :oops: s:oops: Could somebody set out how I would do the download, in words of one syllable for a computer illiterate, well semi-illiterate anyway.
Alternatively, Beanie, how much would you want to put it all on CD and ship it over here s:wink: :wink: s:wink:
roger
I have most of it, but couldn't sell it. That would be illegal as heck.
Yes, it's the Ruby language. There's a Ruby for Windows, luckily. I just downloaded it and will hack away at it some later on.
Quote from: "Beanie"I have most of it, but couldn't sell it. That would be illegal as heck.
Yes, it's the Ruby language. There's a Ruby for Windows, luckily. I just downloaded it and will hack away at it some later on.
You are a star s:D :D s:D
By the way if you are worried about the legality of selling it, you could always give it to me as a freebie s:wink: :wink: s:wink:
roger
or buy an envelope from you, which just happens to contain a free cd
Maybe roger will sell you an envelope. s:wink: :wink: s:wink: