2012-02-25 5 views
0

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

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

+0

Благодарим вас, насколько я могу получить ширину и высоту изображений с веб-сайтов? – hyperrjas

+0

Лучше спросить об этом как отдельный вопрос. Это сложно, например, вы хотите размер изображения или размер, поскольку он будет отображаться браузером X. – smparkes

Смежные вопросы