Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 25, 2013 22:56:40

gelius
Зарегистрирован: 2013-03-18
Сообщения: 132
Репутация: +  0  -
Профиль   Отправить e-mail  

Вытащить нужную картинку

<img src="/images/kartinka1.jpg" border=0 width=10 height=10><br>
<img src="/images/kartinka2.jpg" border=0 width=10 height=10>
Нужно вытащить “/images/kartinka1.jpg”

Офлайн

#2 Дек. 25, 2013 23:19:31

Razor
Зарегистрирован: 2012-09-11
Сообщения: 127
Репутация: +  2  -
Профиль   Отправить e-mail  

Вытащить нужную картинку

Что вы конкретно хотите? Формулируйте вопрос, пожалуйста.

1) Если не можете скачать файл:

import urllib.request
urllib.request.urlretrieve ("http://site.com/images/capture.jpg", "logo.jpg")
2) Не можете понять путь: пробуйте site.ru/images/kartinka1.jpg или текущая_страница/images/kartinka1.jpg.

3) Если ищете путь картинки на странице - регулярные выражения или html-парсеры.

Отредактировано Razor (Дек. 25, 2013 23:21:07)

Офлайн

#3 Дек. 27, 2013 01:11:06

gelius
Зарегистрирован: 2013-03-18
Сообщения: 132
Репутация: +  0  -
Профиль   Отправить e-mail  

Вытащить нужную картинку

Да, мне нужен путь. Я могу собрать все:

    rex = re.compile(r'(img src=(\")?)(.*?)(\")')
    img = [d[2] for d in rex.findall(html)
Но не могу получить именно “/images/kartinka1.jpg”
Регулярка не складывается.

Отредактировано gelius (Дек. 27, 2013 01:11:52)

Офлайн

#4 Дек. 27, 2013 08:25:39

dimy44
От: Евпатория
Зарегистрирован: 2012-04-21
Сообщения: 463
Репутация: +  42  -
Профиль  

Вытащить нужную картинку

import re
text = '''<img src="/images/kartinka1.jpg" border=0 width=10 height=10 ><br>
<img src="/images/kartinka2.jpg" border= 0 width=10 height=10>'''
pattern = r'<img src="([^"]+)"'
for img in re.findall(pattern, text):
    print(img)

Офлайн

#5 Дек. 30, 2013 03:38:44

gelius
Зарегистрирован: 2013-03-18
Сообщения: 132
Репутация: +  0  -
Профиль   Отправить e-mail  

Вытащить нужную картинку

dimy44
Выдает:

/images/kartinka1.jpg
/images/kartinka2.jpg
А мне нужно только:
/images/kartinka1.jpg

Офлайн

#6 Дек. 30, 2013 08:46:25

dimy44
От: Евпатория
Зарегистрирован: 2012-04-21
Сообщения: 463
Репутация: +  42  -
Профиль  

Вытащить нужную картинку

Так тогда объясните толком, по какому признаку вы хотите их отбирать. Которая первая идет? Юзайте search тогда:

import re
text = '''<img src="/images/kartinka1.jpg" border=0 width=10 height=10 ><br>
<img src="/images/kartinka2.jpg" border= 0 width=10 height=10>'''
pattern = r'<img src="([^"]+)"'
scr = re.search(pattern, text)
if scr:
    print(scr.group(1))
Или что? Сформулируйте вопрос точнее.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version