методы ширина и высота механизировать - PullRequest
0 голосов
/ 26 февраля 2012

Я использую 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"]

почему это происходит с некоторыми веб-сайтами и не происходит с другими веб-сайтами?

Каково решение этой проблемы?

1 Ответ

1 голос
/ 26 февраля 2012

Механизация не получает изображения. Он может вернуть вам только тот размер, который указан в теге img в HTML, и многие сайты не включают его.

...