<p>I'm doing a personal, just for fun, project that is using screen scraping to give me a System Tray notification in case another line on an HTML table is added, modified or deleted.</p>

<p>Having done this before I thought: well let's go with the regular expression thing and that's it, but being a curious person, made me think that there could be something else out there that could have another paradigm but be as simple to use.</p>

<p>I know about DOM and X-Path and all the xml'ish approaches. I'm looking for something outside the box, something that can even be defined in a set of rules so you can make a plugin system to aggregate various sites.</p>

[{'answer_id': 80868, 'author': 'jrudolph', 'author_id': 7647, 'author_profile': 'https://Stackoverflow.com/users/7647', 'pm_score': 3, 'selected': True, 'text': '<p>See <a href="https://stackoverflow.com/questions/2861/options-for-html-scraping">Options for HTML Scraping</a></p>\n'}, {'answer_id': 80872, 'author': 'BigJump', 'author_id': 8542, 'author_profile': 'https://Stackoverflow.com/users/8542', 'pm_score': -1, 'selected': False, 'text': '<p>If you can convert the source into valid XHTML/XML using something like <a href="http://wiki.developer.mindtouch.com/Community/SgmlReader" rel="nofollow noreferrer">SgmlReader</a> or <a href="http://tidy.sourceforge.net/" rel="nofollow noreferrer">HtmlTidy</a> then you could use XSLT.  Simply create a XSL template for each site you wish to scrape.</p>\n'}, {'answer_id': 80886, 'author': 'Jason Morrison', 'author_id': 15098, 'author_profile': 'https://Stackoverflow.com/users/15098', 'pm_score': 0, 'selected': False, 'text': "<p>Here's an idea:  assuming your main use case is getting a notification whenever an HTML file changes, why not use a standard diff tool and then loop through the changed lines, applying your rules?</p>\n\n<p>Also, if this is a situation where you have access to the server and the files you're watching, you might be able to put everything under source control with CVS (or similar) and just watch for commits.  If you want to use this approach for random sites on the web, just write a script that periodically downloads the html for the appropriate URLs and then commits it to source control and watch the diffs.</p>\n\n<p>Not very practical, but outside the box.</p>\n"}]
['https://Stackoverflow.com/questions/80834', 'https://Stackoverflow.com', 'https://Stackoverflow.com/users/8167/']