Skip to content

Instantly share code, notes, and snippets.

@darinalleman
Last active March 30, 2024 20:29
Show Gist options
  • Star 3 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save darinalleman/b4cc60bed013cbd7a46b286640ea1c94 to your computer and use it in GitHub Desktop.
Save darinalleman/b4cc60bed013cbd7a46b286640ea1c94 to your computer and use it in GitHub Desktop.
Google Sheets Zillow Import Script
function writeZestimateToSheet() {
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var sheets = spreadsheet.getSheets();
var zillowSheet = sheets.find(sheet => sheet.getSheetName() == 'Zillow');
if (zillowSheet) {
var html = UrlFetchApp.fetch('https://www.zillow.com/homes/%%%%%%%%%_zpid/').getContentText();
const divRegex = /(<div class="zestimate-value">)(\$)(\d{1,3})(,\d{3})*(<\/div>)/g;
const moneyRegex = /(\$)(\d{1,3})(,\d{3})*/g;
var div = html.match(divRegex);
var zestimate;
if (div && div[0]) {
zestimate = div[0].match(moneyRegex)[0];
if (zestimate) {
var row = [];
row[0] = zestimate;
row[1] = new Date();
zillowSheet.appendRow(row);
MailApp.sendEmail('me@email.com', 'Zestimate Update', 'As of '.concat(row[1].toDateString().concat(' the Zestimate of your home was ').concat(row[0])));
}
else {
throw new Error("Zestimate not found");
}
}
else {
throw new Error("Zestimate div not found on page");
}
}
else {
throw new Error("Could not find Zillow sheet");
}
}
@darinalleman
Copy link
Author

darinalleman commented Apr 13, 2021

I have run into a problem. I added 20 ZPIDs to @benito334 script. It runs successfully 70% when run from script editor. The error when failing is "Zestimate div not found on page." Curiously, when I setup a time trigger or When Open trigger it fails 100%. I even ran with just 1 ZPID. When triggered execution, its an instant failure.

@rbuentello - mine is failing sort of randomly it seems too. I've debugged it a bit and found that it has to do with Zillow's "Are you a robot" checks. Sometimes Zillow shows the captcha and sometimes it does not. Definitely a bummer!

@rbuentello
Copy link

rbuentello commented Apr 24, 2021 via email

@darinalleman
Copy link
Author

Yep. Experiencing the same issue. Unfortunately something I can't fix. Like I said in the comment above, the "Are you a robot" check will always fail because, well, this is a robot. Nothing I can do.

@rbuentello
Copy link

rbuentello commented Apr 26, 2021 via email

@darinalleman
Copy link
Author

Not that I'm aware of at this point.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment