A listing of Emacs Lisp packages, called the Lisp Code Directory, is being maintained by Dave Brennan <firstname.lastname@example.org> and Dave Sill <email@example.com>. You can search through this list to find if someone has written something that fits your needs.
This list is file LCD-datafile.Z in the Emacs Lisp Archive. (See section Where can I get GNU Emacs Lisp packages that don't come with Emacs? for methods for getting this file.) The files lispdir.el.Z and lispdir.doc.Z in the archive contain information to help you use the list. Once you have installed lispdir.el and LCD-datafile, then you can use the "M-x lisp-dir-apropos" command to look things up in the database. For example, the command "M-x lisp-dir-apropos RET ange-ftp RET" produces this (outdated) output:
GNU Emacs Lisp Code Apropos -- "ange-ftp"
ange-ftp (3.112) 91-08-12 Andy Norman, <firstname.lastname@example.org> archive.cis.ohio-state.edu: /pub/gnu/emacs/elisp-archive/as-is/ange-ftp.el.Z transparent FTP Support for GNU Emacs