TurtleSoft started in 1987 with construction estimating software written in Microsoft Excel. Our new accounting/estimating software will be the 4th generation since then.
Selling software in a “vertical market” like construction is tough. There are plenty of special problems to deal with, and a small pool who want to buy it. We don’t even get the full construction market: most of our users are a certain size of remodeler. Not too big, not too small, not too specialized.
In future years, we plan to focus more on general-purpose small business software, and not spend as much time on features that are specific to construction. However, there is one task where we can make a huge improvement for our builder and remodeler users: keeping material prices up to date.
The obvious place for us to fetch material prices is from the Home Depot or Lowes websites. Each Cost Item record would need to store a page URL. Then we could add code to get on the web, and find the price inside the HTML on that page.
Alas, Home Depot and Lowes really do not want anyone to scrape prices from their site. Item prices are not visible at all in their HTML code. Instead, it is “obfuscated”. Some Javascript must fill in the price while the page loads, probably by doing math on numbers that are scattered in the source text.
In theory, we probably could find a way to hack their systems. But then it’s an arms race: every time they make a minor change, we must spend many hours to figure it out again.
Smaller chains have more potential. We checked Menards in the Midwest, and their website pages do have pricing that we could access and import. If there are enough other sources to cover most of the US and Canada, it will be worth our time to develop a price-grabber system.
84 Lumber is about the only small chain that has survived around here, and their website does not even list prices. But there may be others that can work.
To check if your own local supplier can be used for automatic updates, follow these steps:
-
-
- Open a page for any specific material. Check the listed price.
- View the HTML source code for the page (View–Developer–Page Source in Chrome, Tools–Browser Tools–Page Source in Firefox).
- Search for the price text. It may be listed in several places.
- Check a few other products.
- Are all the prices near to some marker text that is the same on all pages? If so, please let us know.
-
Dennis Kolva
Programming Director
TurtleSoft.com