0 points

The ImmoFilter scripts

Last update Jul 27, 2009

Description

German hint: Die Benutzeroberfläche der Skripte spricht natürlich auch Deutsch (ist schließlich für deutsche Sites). Dieser Guide hier ist trotzdem in Englisch, da dies die Sprache dieser Site ist...

Searching for a real estate in Germany to buy or rent, the sooner or later you hit one of the larger websites specialized on this: ImmoWelt.DE, ImmoNet.DE, and ImmobilienScout24.DE. But though they offer quite a lot of search options to restrict the result lists closer to your needs, a few problems will always remain: Browsing the lists, you will always be in doubt whether you already investigated the corresponding article; you will always miss a filter on certain keywords - and you will hate it opening the same items again and again. This is where the ImmoFilter scripts come into play.

There are three filters in this family at this time - always one matching one of the before mentioned sites:

The handling of these scripts is almost the same (as they share much of their code), so I decided to write a guide covering them all.

Features

The ImmoFilters offer to

  • remove/hide results by title, location, and/or ID
  • highlight properties by title, location, and/or ID
  • toggle between "remove"/"hide" via the Greasemonkey menu
  • toggle highlighting on/off via the Greasemonkey menu
  • toggle the entire script on/off via the Greasemonkey menu (well, that's actually offered by Greasemonkey itself)
  • English and German GUI for configuration

When hiding properties (instead of removing them), a link is provided to toggle property's visibility). Filtering is done by keywords found in the corresponding table cells (see "Configuration" below).

Configuration

Since version 1.1.0 the script provides a configuration GUI (utilizing GM_config and, starting with v1.1.3, GM_config Extender - included via "@require"), which is invoked via the Greasemonkey user scripts menu: Right-click the monkey in the status bar, select the user scripts sub menu, and you will find the corresponding item in the list - provided the current browser window contains the corresponding web page.

It should be quite easy (and self-explaining) what is to be done here - and if not on first sight, tooltips are there to help you out.

In the tab, enter a list of strings (separated by a semicolon) as shown in the screenshot below - the filter will then search for them in the corresponding places and filter out the corresponding properties - or highlight them, depending on the setting we're talking about. The only other input field is for the background color to highlight properties with.

The second tab lets you configure the general settings: color for highlighting, the language of the interface, and whether to enable some of the enhanced features.

Finally, the third tab offers items for maintenance - at this time it's only the purging of outdated property IDs (see below).

Press the "Save" button to save your changes (they will be applied and the page will automatically be reloaded), or click the "Cancel" button to only exit. There's also a link provided to Reset your settings to the defaults shipped with the script.

Usage

The scripts work on the search results (it was not tested on other lists yet). So first, initiate your search as usual. Consult the results shown.

Defining Filters

As already mentioned in the configuration paragraph above, filter settings are defined in the first tab of the configuration screen. To get there, right-click on the Greasemonkey icon in the status bar, chose the user script settings item, and from in there the corresponding configuration item for the ImmoFilter you are using.

To add a new filter, there is a more convenient solution available: Each property has a Filter "button" attached. When you click this, you will be presented with 3 more links: To add a filter by ID, title, or location. You will be asked to approve the action for all 3 types, and have the possibility to edit the filter text for title and location filters.

Adding properties to the filter

If you find a property you are not interested in, check how it would be matched best: the more global the term chosen, the more likely it also affects similar properties. If e.g. the location does not suit you, it's probably best to hide this property by location: add a matching term (e.g. the city part, or the street name) to the Hide by Location list. If that's too common, there's maybe a term in the title (first row of the item) to be added to the Hide by Title list, like the term "VERKAUFT" (if you want to buy, this one is already gone). If none of these two options seems fitting, get the "Scout ID" from the details page (or from the URL of the picture/title: it is the number following the host name of the URL), and add it to the Hide by ID list.

Remove or hide filtered properties?

Using the Greasemonkey user script menu, you can toggle between removing filtered properties completely from the page - or just hide them (to do so, right-click the Monkey icon in the status bar while an IS24 page is opened in the active tab, select the userscript submenu, and look out for the switch option of the ImmoFilter script you are using).

When removing properties, there's no evidence left on the page they ever have been there - so in an extreme case, you may have a result set of multiple pages, but some of these pages are entirely blank or just hold a single property. If this confuses you, you can check with the other mode what's going on:

When hiding filtered objects, they are only hidden - except for the last row holding the location. Here you find a link added telling you why this property is hidden. Click it to toggle it visible (to check whether it really should be filtered). Click the link a second time to hide the property again.

Removing properties from the filter

If after a while you receive the impression there are too many things hidden (or you may have changed your mind), the easiest way to find out what IDs to unhide is toggling the script to no longer remove, but instead only hide matched properties (see above). If you find a candidate to remove from the filter list, go to the configuration GUI and remove the corresponding search term. This works for all three groups - though it's probably much easier to tell location and title terms by simply investigating your settings. That's why I introduced a new feature to get rid of old IDs, which will be discussed in the Maintenance section.

Highlight probably preferred properties

If title or location contain certain keywords, you may feel more attracted to a property - e.g. if your favorite city district or even street is mentioned in the location. The ImmoFilter scripts can highlight these items for you, so you will not accidentally miss them. This works similar to the hiding/removing explained above - except for the fact that the reason for highlighting will not be mentioned on the page.

To add keywords the script should take care off, have a look at the configuration options to Highlight by Title, Highlight by Location, and Highlight by ID in the configuration GUI.

Where do I find the ID of a property?

Sometimes the ID is the only suitable solution to hide or highlight a property. The ID is unique to a single real estate and thus matches either one or none. But where to find it? Each site has it at a different place, so I try to show the easiest way to figure it out for each of them:

  • ImmoWelt.DE: Hover the mouse over the property's title. The target URL ends with "ID=" followed by the 8-digit ID for this object.
  • ImmoNet.DE:
  • Hover the mouse over the "Merken" ("remember") link. The URL is a call to a JavaScript procedure, the first parameter (i.e. immediately following the opening parenthesis) is the 8-digit ID of the property.
  • Immobilien.Trovit.DE:
  • Hover the mouse over the link in the title (or the image of the object) and check the status bar: The link target contains redirect.php/id.1234567, where the 7-digit number is the ID
  • ImmobilienScout24.DE:
  • Hover the mouse over the property's title. The 8-digit number immediately following the target URLs server name is the objects unique ID.
Toggle Highlighting

Similar to the hide/remove mode described above, you also can toggle highlighting on and off, using the Greasemonkey menu. The item there is easy to tell.

General Settings

In the second tab of the configuration screen, you can define a few "general settings". This includes the background color for highlighted properties, the language to use for the interface (i.e. the configuration screen plus the reason why a property was hidden), and two more settings to be explained in more detail:

Copy and Paste of Settings

If you enabled this feature, two new items will appear in the GM user scripts menu, allowing you to copy the stored settings to the clipboard - or to insert settings to overwrite the stored ones. This can be useful if you have the script installed on more than one computer, and want to share the settings you've made. Use this with caution (at least the latter), since pasting the wrong stuff may destroy your settings.

Before pasting, check that the string you are going to paste is not spread over multiple lines - it must be one line only. Multi-line spreading is a common error when saving the copied settings with some text editors using automatic line breaks. If that happened, normally you just have to remove the line breaks before pasting, and everything will work fine.

FadeIn/Out the website

With this item you can enable/disable a small graphical effect. It defines how the configuration screen will be opened/closed:

With the check box checked, the web page will be faded out while the configuration screen is faded in - and vice versa when closing the configuration screen. This is a nice little gimmick, and not really necessary. So if it's not working fluently or takes to long, just un-check this setting: In this case, the configuration screen will just pop up on top of the page on opening it, and abruptly disappear on close.

Maintenance

As the name suggests, at this place you will find items for the scripts maintenance. While a few options (like update checking) are in planning, right now it's only a single item to be found here:

Removing outdated IDs from the filter

Other than the "search terms", with plain numbers it's hard to remember the association. But since each ID is connected just with a single object, you were probably sure what you marked here. Anyhow: with time passing by, the list grows - and some of the IDs are probably no longer listed on the site. To get rid of those, the filter script keeps track of what time they have been seen last - so you can use the purge button (together with the input field next to it) to remove those IDs no longer available.

Just to be said: The script will never purge anything automatically. This is done only when you press that button.

Screenshots

is24filter.gif (32 KB)
Filtered result list on IS24
immowelt.gif (47 KB)
Filtered result list on ImmoWelt
is24filter-config.gif (21 KB)
Filter Configuration for IS24

Updating

When updating from a version which did not yet have the graphical setup screen (e.g. IS24Filter prior to v1.1.0), make sure to save your configuration first: Copy everything between the lines with "=[ Configuration ]=" and "=[ Don't change below here ]=" from the old script, and paste it to a temporary file. Then, after updating, call up the configuration GUI and transfer the values correspondingly.

This script uses the GM_config Extender (and thus implicitly also GM_config). This means, when those underlying ("@required") scripts have been changed, and the new version of this script relies on those changes, you have to completely uninstall IS24Filter and re-install it. In order to do so, right-click on your Greasemonkey icon in the status bar, and open the script manager interface. Select the ImmoFilter you are using from the script list. Make sure to not have the remove related settings checkbox checked, and click the Uninstall button (this way your settings are kept). Now click the Install link on top of this page.
In case these steps are required, it will be mentioned for that version in the History of Changes below - if it is not explicitly mentioned, you just can update the script as usual.