From: Stefano Crocco Date: 2008-08-18T23:40:39+09:00 Subject: Re: how to move on to next url if current one is a dud On Monday 18 August 2008, Adam Akhtar wrote: > hmm wasnt too sure how to make the subject both concise and > understandable at the same time so my apologies if i was vague. > > I searched under "ignore missing" but didnt come up wiht anything. > Perhaps someone can help me. > > Im using open-uri to fetch the html from various ebay webpages. > Basically the results for certain categories. I have all the relevant > urls tucked into an array of hashes eg. Computers => > www.ebay.blah.blah.blah > > I then cycle through the array feeding open uri the urls and doing my > biz on the html one by one. > > However sometimes there are no products for a certain category for that > given day (im focussing on products located in japan so the number of > results is drastically reduced) so when open uri complains like this > > ebay.rb:71:in `read': No such file or directory - > http://research.ebay.co.uk/ws/ > search/GetSaleAnalysis?sojs=0&salic=104&sacqyop=9&sacqy=1000&sacat=13851&ft >rv=17 > &fis=2&fts=-1&fn=4&frts=0&sc=AvgSoldPrice&showdiag=0&soexpand=1&soraw=0 > (Errno:: > ENOENT) > > Im fine with it complaining but it stops the programme. How do i make it > simply skip/ignore such urls and move on to the next one in the hash? > > any help greatly appreciated. Wrapping the call to open in a begin/rescue pair should do what you want: begin open( url ) rescue SystemCallError end I hope this helps Stefano