FarrWebMetaSearch is another generic web retrieval FARR plugin. Unlike ewemoas Webgrab
this plugin will show results in list mode. It is therefore targeted at web sites delivering list-like results.
Configuration and usage of the plugin will be as follows:
- searches are configured via a text configuration file, one for each 'search'. the file will specify search url and a regular expression to capture the result.
- search terms will be specified through the FARR input box
See implementation notes further down for further clarification.Features
It just does what it says in the description.Planned Features
- Fix icon copyright problem
- Fix launching problem
- Add proper help file
- Add a way for users to contribute / get searches
- Add logging/notification in case a configuration files is invalid
- Improve usage for news feeds
- Make original search string available as a variable
- Add many more searches
Either make plugin asynchronious or implement some way to delay searching Add a description for each search to xml files and FARR searches list Implement filtering of searches Implement auto-completion of searches with Enter key (well, maybe) Add a way to specify search options (for web sites that support it) Make parsing of searches files more robust
| FarrWebMetaSearch || Web Site |
|MSDN||NANY 2010 Final Release: FarrWebMetaSearch||NANY 2010 Final Release: FarrWebMetaSearch|
|CDDB||NANY 2010 Final Release: FarrWebMetaSearch||NANY 2010 Final Release: FarrWebMetaSearch|
and a teaser screencast
FarrWebMetaSearch reads all configuration files in its searches subdirectory when it's being loaded. When the plugin alias (currently wms) is entered, it will list all configured searches. To use a search one would then enter, e.g.:wms msdn PathAppend
to find MSDN entries for the PathAppend API function.
Search files currently look like this (this is the cddb.conf file):
description=Microsoft Developer Network
resultPattern=<a onmousedown=\".*\" href=\".*\">(.*)</a>\r\n<br/>\r\n<div class=\"ResultDescription\">(.*)</div>\r\n<div class=\"ResultUrl\">(.*)</div>
The regex sub-expressions can (should, actually) be used to form the results.