Форум программистов, компьютерный форум, киберфорум
Python
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.72/124: Рейтинг темы: голосов - 124, средняя оценка - 4.72
0 / 0 / 0
Регистрация: 01.05.2014
Сообщений: 69
Записей в блоге: 3

Парсер картинок с сайта

17.01.2015, 11:27. Показов 25261. Ответов 20
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день.

Хочу написать парсер картинок с сайта (любого),
но не знаю с чего начать., так как в python куча библиотек : не пойму что читать и с какой стороны подойти.

Подскажите, для понимания того, как решить эту задачу, что лучше всего будет прочитать\посмотреть?
Вооружился этими книгами:
- Бизли - Python. Подробный справочник
- Майкл Доусон - Программируем на Python - 2014
- Саммерфилд - Программирование на Python 3
Но для обработки информации в интернете информация есть только у Бизли, и то сухо очень.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.01.2015, 11:27
Ответы с готовыми решениями:

Проблемный парсер сайта
Пмогите плизз, давно уже ломаю голову, хотел написать парсер сайта, чтобы выводил все, что находится между тэгами...

Парсер сайта и ссылок с сайта
Добрый день. Подскажите, как реализовать парсер сайта, с которого парсятся все URL и в свою очередь, с них парсятся еще URL?(содержимое...

Парсер сайта
Подскажите как при помощи xpath выдернуть текстовое значение title вот кусок сайта для примера. Сейчас xpath выглядит вот так:...

20
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
17.01.2015, 12:40
"Парсер картинок" — это утилита, которая просто вытаскивает изображения со страницы или распознает образы на них?
0
0 / 0 / 0
Регистрация: 01.05.2014
Сообщений: 69
Записей в блоге: 3
17.01.2015, 13:09  [ТС]
"Парсер картинок" — это утилита, которая просто вытаскивает изображения со страницы или распознает образы на них?.
Просто вытаскивает все картинки
0
Администратор
Эксперт .NET
 Аватар для tezaurismosis
9670 / 4823 / 762
Регистрация: 17.04.2012
Сообщений: 9,661
Записей в блоге: 14
17.01.2015, 13:14
Загрузить html-ку можно с помощью urllib.request.urlopen
Python
1
2
3
import urllib.request
 
html = urllib.request.urlopen("https://www.cyberforum.ru/python/thread1355511.html")
Там ищите все теги img, можно регуляркой, можно html.parser
1
0 / 0 / 0
Регистрация: 01.05.2014
Сообщений: 69
Записей в блоге: 3
17.01.2015, 13:23  [ТС]
Спасибо конечно, но у меня вопрос немного в другом.
Я бы хотел узнать, на что стоит обратить внимание (что стоит почитать, о чём стоит почитать), чтобы потом можно было решить эту задачу. (не обязательно о python)
0
Администратор
Эксперт .NET
 Аватар для tezaurismosis
9670 / 4823 / 762
Регистрация: 17.04.2012
Сообщений: 9,661
Записей в блоге: 14
17.01.2015, 13:29
Так вот про это и читайте: на docs.python.org читайте о urllib, html.parser и регулярках. По регуляркам есть отдельные книги (например, Фридл).
0
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
17.01.2015, 13:40
Наброшу еще. Библиотека с человеческим лицом для запросов — requests. Парсинг html — BeautifulSoup, html5lib.
0
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
17.01.2015, 15:30
Цитата Сообщение от Орехов Орех Посмотреть сообщение
о чём стоит почитать
1. Как в нужном языке делать http запросы и получать ответ
2. html, как в нем хранятся картинки и как и какие атрибуты задаются картинкам
3. О том как разбирается (парсится) html. Сразу оговорюсь, регулярки в этом деле очень плохой вариант. Их нужно использовать с понимаем дела и только там где это действительно нужно.

Ну в прицепи и все.

В python я бы запрашивал страницу сайта с помощью requests, парсил html с помощью lxml.html, а загружал картинки с помощью urllib.request.urlretrieve
0
12 / 12 / 2
Регистрация: 30.10.2013
Сообщений: 46
18.01.2015, 18:35
Посмотрите на youtube видюшки по теме, там правда на английском, но все же.
Для парсинга неплохо было бы подучить XPath, для ваших целей хватит и часочка.
Для хрома есть пара отличных расширений, которые определяют XPath для элементов страницы (как абсолютный адрес, так и относительный). Их потом можно вставить в тело кода.

В общем-то правильно до меня сказали про requests (сам использую), urllib, beautifulsoup. Регулярку я бы советовал все же изучать по Mastering Python Regular Expressions от Packt Publishing - книжка компактная и хорошо читается. По Фридлю учиться - слишком толсто, я бы сказал, но можно, если есть время.
Азы Питона по Замерфельду - перебор конечно. Достаточно Интро из питон.докс почитать.
0
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
18.01.2015, 18:54
Цитата Сообщение от Farad Посмотреть сообщение
Замерфельду
Может все таки ты имел ввиду Саммерфилда
0
12 / 12 / 2
Регистрация: 30.10.2013
Сообщений: 46
18.01.2015, 18:56
Ну да его, но он почему-то у меня ассоциируется с немцем.
0
0 / 0 / 0
Регистрация: 01.05.2014
Сообщений: 69
Записей в блоге: 3
19.01.2015, 09:39  [ТС]
Цитата Сообщение от Farad Посмотреть сообщение
Азы Питона по Замерфельду - перебор конечно. Достаточно Интро из питон.докс почитать.
Почему?
0
12 / 12 / 2
Регистрация: 30.10.2013
Сообщений: 46
19.01.2015, 10:08
Цитата Сообщение от Орехов Орех Посмотреть сообщение
Почему?
Я выразил свое мнение. Там в достаточно сжатой форме (больше 600 страниц, ага) дано почти все, что нужно знать о языке. Есть книги больше 1100 страниц, например книга автора Mark Lutz - там очень размыто, но читается гораздо легче. Я пытался прочитать Саммерфилда после Lutz (похоже я правильно написал фамилию ) - читалось достаточно сложно.
Уже успел пропарсить несколько сайтов. А для этого мне хватило прочитать вначале пару вводных книжек (по 200-250 страниц), а потом интро по питону на питон.докс, хотя хватило бы и одной книжки.
0
0 / 0 / 0
Регистрация: 01.05.2014
Сообщений: 69
Записей в блоге: 3
19.01.2015, 14:38  [ТС]
Цитата Сообщение от Farad Посмотреть сообщение
А для этого мне хватило прочитать вначале пару вводных книжек (по 200-250 страниц)
А что читал?
0
12 / 12 / 2
Регистрация: 30.10.2013
Сообщений: 46
19.01.2015, 17:49
https://wiki.python.org/moin/IntroductoryBooks
Посмотрите по ссылке выше.
Python for Software Design: How to Think Like a Computer Scientist by Allen B. Downey, Olin College of Engineering, Massachusetts - Вот про эту книгу я говорю. Она начального уровня. Если до этого мало кодили вообще на любых языках - то в самый раз. Еще читал книжку от MIT (посмотрите на их сайте ocw.mit.edu).

ПС Все тех. книги я читаю только на английском и только на английском. На русском обычно можно найти косные неинтересные переводы.
0
0 / 0 / 0
Регистрация: 01.05.2014
Сообщений: 69
Записей в блоге: 3
20.01.2015, 10:14  [ТС]
Мой английский пока не позволяет читать техническую литературу, к сожалению,. но спасибо

Добавлено через 13 часов 22 минуты
Слушайте,
Я подключил urllib и BeautifulSoup.

Создал объект библиотеки urllib: понял, что он нужен, потому что содержит в себе код страницы.
Затем BeautifulSoup'ом мы парсим объект urllib : ищем картинки.
И По этим ссылкам затем скачиваем файлы с помощью той же urllib.

Есть пара моментов :
- как перемещаться между страницами? переходить с одной на другую?
или об этом есть в библиотеке urllib?
- файлы скачивать в цикле? Я в принципе понял , что если бы пользовался регулярными выражениями, то я бы в цикле просто прошёлся по всему "коду" - собирал нужные адреса и сразу их качал,.
но парсером пока не понял как это делается.
- думаю, что позже дойду до этого сам, но спрошу заранее: как можно проверять заранее размер файлов, которые собираюсь скачивать? ну, чтобы не качать мелочь, к примеру
0
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
20.01.2015, 10:39
Цитата Сообщение от Орехов Орех Посмотреть сообщение
- как перемещаться между страницами? переходить с одной на другую?
После этого вопроса начинаю понимать, что автору нужен полноценный паук, который будет обходить весь сайт, а не просто извлекать картинки с конкретной страницы. Для этого есть фреймворк: http://scrapy.org/
0
0 / 0 / 0
Регистрация: 01.05.2014
Сообщений: 69
Записей в блоге: 3
20.01.2015, 10:59  [ТС]
Цитата Сообщение от 0x10 Посмотреть сообщение
После этого вопроса начинаю понимать, что автору нужен полноценный паук, который будет обходить весь сайт, а не просто извлекать картинки с конкретной страницы. Для этого есть фреймворк: http://scrapy.org/
А питон своими средствами этого делать не умеет ?
0
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
20.01.2015, 11:05
Цитата Сообщение от Орехов Орех Посмотреть сообщение
А питон своими средствами этого делать не умеет ?
Получение страницы — это GET-запрос. Грубо говоря, обход сайта — это получение всех ссылок на странице с отправкой запросов на каждый адрес. При этом нужно исключить посещение других ресурсов, т.е. корректно обработать редиректы, отфильтровать внешние ссылки, исключить циклические переходы и т. д. На библиотеках типа requests/urllib написать можно, но придется всю эту логику программировать самому.
0
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
21.01.2015, 12:43
Из интереса посмотрел немного на scrapy. Задача стягивания картинок без фильтрации решается примерно в 30 строк кода, из которых 10 самописные, остальные — сгенеренные.
Модуль сохранения картинок в стандартной поставке позволяет фильтровать по размеру, но все изображения конвертирует в jpg. Т.е. для этой задачи придется чуть дописать логики.
Еще сложности могут возникнуть если в ответе GET-запрос приходит тупо js, который собирает страницу на клиенте. В этом случае нужно анализировать какие запросы действительно возвращают интересующие данные.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.01.2015, 12:43
Помогаю со студенческими работами здесь

Парсер сайта
Здравствуйте, нужна помощь с парсером. Нужно спарсить https://bittrex.com/home/markets, допустим BITCOIN MARKETS всю таблицу(кроме двух...

Парсер закрытого сайта
Нужна помощь с кодом! # coding: utf-8 import requests from bs4 import BeautifulSoup from urllib.request import urlopen from...

Парсер сайта с Авторизацией
Здравствуйте. Пишу парсер и не понимаю что такое "bfp: '83ed3ff8ef095a99cacb741910ce402d'" в форме авторизации, для каждого браузера он...

Написать парсер для сайта
Здравствуйте. Начну с того, что изучаю пайтон около полтора месяца, успел прочитать Лутца ("Изучаем пайтон"), решить почти все...

Простенький парсер для сайта
Всем здравствуйте) Пишу простенький парсер для сайта и столкнулась с проблемой: при попытке вывести содержимое блока (div или span)...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
PowerShell Snippets
iNNOKENTIY21 11.11.2025
Модуль PowerShell 5. 1+ : Snippets. psm1 У меня модуль расположен в пользовательской папке модулей, по умолчанию: \Documents\WindowsPowerShell\Modules\Snippets\ А в самом низу файла-профиля. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru