Skip to content

Instantly share code, notes, and snippets.

@troy
Created September 10, 2009 13:22
Show Gist options
  • Star 29 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save troy/184547 to your computer and use it in GitHub Desktop.
Save troy/184547 to your computer and use it in GitHub Desktop.
Given a redfin.com house listing URL, save all full-size images
# usage: redfin-images "http://www.redfin.com/WA/Seattle/123-Home-Row-12345/home/1234567"
function redfin-images() {
wget -O - $1 | grep "full:" | awk -F \" '{print $4}' | xargs wget -
}
wget -O - http://www.redfin.com/WA/Seattle/123-Home-Row-12345/home/1234567 | grep "full:" | awk -F \" '{print $4}' | xargs wget -
@troy
Copy link
Author

troy commented May 13, 2021

@gauravchak: After using a browser to log in, you might be able to change wget to present session cookies from the browser. For that, look into the --load-cookies option. You'd need to manually create the cookie file.

Assuming you're just saving images from a handful of listings for personal use (which is what this script was intended for), one of these methods might be easier than adding cookie support:

  1. In Firefox, choose Tools -> Page Info, select the Media tab, highlight multiple image URLs in the listing, and click "Save as." This probably won't show high-res images that are only shown in an interactive gallery (lightbox), but it will at least show the average-size images. If you need high-res images, you can probably find a different real estate site that does show all of the high-res images in one page and use the same technique.
  2. Use a "Save all images" browser extensions (example: https://github.com/belaviyo/save-images - I haven't personally used it). Browser extensions are risky, so look for a trusted one with lots of users and comments (and ideally, public source code), and uninstall it as soon as you're done.

@VYCMa
Copy link

VYCMa commented Dec 13, 2021

It was working well earlier this year, but now it just downloads a single image. Does anyone know how to adjust it to download all images? Thanks

@PratapNaik
Copy link

@punjabdhaputar ...this still works! thanks!

@reaudiotra
Copy link

@punjabdhaputar just tried this and was able to save myself several right click-save trouble...thanks!

@Aleyasen
Copy link

It still works.

@maximusdecimus12
Copy link

maximusdecimus12 commented Mar 13, 2022

@gauravchak managed to make it work for listings that require signing in, by using the method outlined here: How do I use wget/curl to download from a site I am logged into?.

  1. Logged into Redfin in Firefox.
  2. Open "Network" tab of Web Developer tool: Ctrl-Shift-E
  3. I took the very first request that was sent when I refreshed the screen on Firefox.
  4. Pasted it in Sublime, and saw a large amount of cookie values in there. To figure out where cookies started and stopped, I just searched for "-H" in the file and took what was there for cookies only. I took everything that was in between 'Cookie: key1=value1; key2=value2; [....]; keyn=valuen'
  5. Recreated the wget command as such:
    wget --no-cookies --header "Cookie: key1=value1; key2=value2; [....]; keyn=valuen" --user-agent="Mozilla" -O - <RedFinURL> | egrep -o "https:\\\\u002F\\\\u002Fssl.cdn-redfin.com\\\\u002Fphoto\\\\u002F\d*\\\\u002Fbigphoto\\\\u002F\d*\\\\u002F[A-Z0-9_]*.jpg" | ascii2uni -Z '\u%04X' | xargs wget --user-agent="Mozilla"

And that did the trick. Hope that helps.

@DarkAlexWang
Copy link

@punjabdhaputar Thanks, it works for me.

@polygonsheep
Copy link

Redfin seems to be blocking this now, getting 403 Forbiden

@timendez
Copy link

timendez commented Jan 26, 2024

I created a lil Go program to do this https://github.com/timendez/go-redfin-archiver

Clone repo, and just run e.g. go run archive.go https://www.redfin.com/CA/San-Jose/206-Grayson-Ter-95126/home/2122534

@troy
Copy link
Author

troy commented Jan 26, 2024

@timendez I just tried your Go program and it worked great. Nice work!

For anyone else who encounters this gist: Strongly consider using @timendez's program instead: https://github.com/timendez/go-redfin-archiver

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