Я использую Mechanize для очистки URL-адресов изображений, тогда я ищу http://mechanize.rubyforge.org/Mechanize/Page/Image.html, чтобы узнать ширину и высоту изображений.
Я пишу в консоли:
url = "http://www.bbc.co.uk/"
page = Mechanize.new.get(url)
images_url = page.images.map{|img| img.width}.compact
Я получаю результат:
["1", "84", "432", "432", "432", "432", "432", "432", "432", "304", "144", "144", "144", "144", "144", "144", "432", "432", "432", "432", "432", "432", "432", "336", "62", "62", "62", "62", "84", "1", "0"]
Этот результат отлично работает для меня, я получаю ширину изображения.
Однако с другими веб-страницами я получаю ноль, например. Вы можете проверить с этой веб-страницы:
url = "http://www.glamourum.com" #check also with https://www.birchbox.com/
page = Mechanize.new.get(url)
images_url = page.images.map{|img| img.width}.compact
Я получаю результат:
=> []
массив пустой: O или для https://www.birchbox.com/ Я получаю массив с:
=> ["1", "1", "1", "1", "1"]
почему это происходит с некоторыми веб-сайтами и не происходит с другими веб-сайтами?
Каково решение этой проблемы?