archives
- January 2010 (1)
- November 2009 (1)
- August 2009 (1)
- June 2009 (2)
- May 2009 (11)
- April 2009 (5)
- March 2009 (4)
- February 2009 (3)
- January 2009 (5)
- December 2008 (1)
- November 2008 (2)
- October 2008 (4)
- September 2008 (2)
- August 2008 (4)
- July 2008 (10)
- June 2008 (5)
- May 2008 (5)
- April 2008 (10)
- March 2008 (13)
- February 2008 (3)
- January 2008 (7)
- December 2007 (7)
- November 2007 (9)
- October 2007 (10)
- September 2007 (1)
blogroll
30
Apr
I recently started a contest for a logo design (The link is not to my contest, just an example). Soon I had over 60 entries and I needed an easy way to present these logos to the client in a Power Point presentation. It takes two clicks to get to each image… no good. Thus the following script was created. It should serve as a good tutorial on how to use Python to do some basic web interactions.
#!/usr/bin/python import urllib import re # Change the variables "contest" and "path"
def retrieveImage( contest, path, name ):
url = "http://99designs.com/contests/" + contest + "/entries/" + name
urllib.urlretrieve( url, path + name )
if __name__ == '__main__':
contest = "6999" #The 99designs content number from which you want to extract images
path = "../tmp/" #The path where you want to store the downloaded images
url = urllib.urlopen( "http://99designs.com/contests/" + contest + "/feed" )
url_string = url.read()
p = re.compile( '\d*.large.\w{3,3}' )
iterator = p.finditer( url_string )
for match in iterator:
retrieveImage( contest, path , match.group() )
about
This blog provides programming, design, business and productivity content for tech entrepreneurs living in a 2.0 world.
Find out more about the author here.
Find out more about the author here.
categories
- Blogging (5)
- Business (49)
- Design (3)
- Django (1)
- FireFox 3 (2)
- General (4)
- GTD (2)
- Guest Posts (1)
- Holiday (4)
- IE 8 (1)
- iTouch (2)
- Life 3.0 (3)
- Life Hacks (38)
- Management (3)
- Marketing (10)
- Mobile (1)
- offbeat (3)
- Outlook (1)
- Personal Development (17)
- Podcasting (1)
- Productivity (25)
- Programming (14)
- Project Management (2)
- Python (1)
- Reviews (2)
- Sales (6)
- Social Networking (12)
- Symfony (1)
- Systems (2)
- Travel (1)
- Twitter (2)
- Ubuntu (7)
- Video (4)
- Web Design (1)
- Windows 7 (1)
- Windows Vista (1)
- Windows XP (1)
- xv6800 (1)
members
most commented post
- » How To Download Ustream.tv Videos - 21
- » Managing Your Life With GTD, Online Tools and a File Cabinet - 20
- » Get Symfony Installed in 20 Minutes on Vista - 14
- » Plurk Unleashed! - 12
- » Using The Web To Save on Holiday Gifts - 12
- » What Online Social Media Networks Do You Participate In? - 11
- » Top Online Backup Solutions - 11
- » How to Send Email at a Specific Time With Gmail - 10
- » 19 Secrets From LA's Top SEO Firm - 10
- » The Story Behind iPhone.com - 10
recent entries
- Keeping Your 2010 Resolutions, Web 2.0 Style
- Reaching Out to Communicate is Key to Project Success
- Using Spaces to Improve Productivity on the Mac
- Effective Meetings on a Budget
- Internet Marketing: How-to
- Tweetie for Mac OS X Now Allows Proper Retweets
- Online Garage Sale
- What tabs do you open first when launching your browser?
- Are Social Media Networks Right for Your Business?
- 10 Ideas for More Powerful Negotiations
recent comments
- TickerWatcher: this was great…ran the code and couldn’t be happier
- Prabhu: cd you are cool man. thanks for sharing information.
- Sprecher Agentur: ThinkingSerious, Thanks for that post. Very interesting.
- Workout Without Weights: Hey… great post, and useful stuff. There are so many exercises and so much you can do...
- KinkY: Ok, here is the little tutorial I have written up just now: http://missandmisterkinky.b...
Wordpress theme by Wordpress Themes Websoft & made free by A1spysoftware.com
Copyright 2009, ThinkingSerious.com

May 2 2008
Overkill IMO. A less trivial example is going to get large and messy quickly. What about when the XML file in on an FTP, or requires authentication, needs some cookie, has to filter downloads by file size, wants to use a proxy, spawn multiple processes and so on? A more apt tool is curl or wget (I’m lazy so I used both). Also, when you keep it at the shell it’s more natural to pull in other shell commands when needed.
curl -s http://99designs.com/contests/6999/feed | grep -Po “src=\”.*(png|jpg)” | grep -o “http.*” | xargs wget -q
May 2 2008
Great example. Thanks for your contribution.
October 15 2008
Great tip using grep. I was going to use python, too.
My box doesn’t have the -P option
but I used egrep to similar effect. Also, the items I needed were in tags so I had to remove those with a sed command. The images were also retrieved from a database and didn’t have an extension so I did a one liner loop to rename those.
curl -s http://domain.tld/feed | egrep -o “.*” | egrep -o “(http.*)” | sed -e ’s/]*>//g’
for f in *; do mv ./”$f” “${f}.jpg”; done
October 15 2008
grep instead of python?…
…
October 15 2008
Ah… forgot to add the
| xargs wget -q
at the end of the curl,egrep line to do the actual downloading.