Найти - Пользователи
Полная версия: Вытащить нужную картинку
Начало » Python для новичков » Вытащить нужную картинку
1
gelius
<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”
Razor
Что вы конкретно хотите? Формулируйте вопрос, пожалуйста.

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-парсеры.
gelius
Да, мне нужен путь. Я могу собрать все:
    rex = re.compile(r'(img src=(\")?)(.*?)(\")')
    img = [d[2] for d in rex.findall(html)
Но не могу получить именно “/images/kartinka1.jpg”
Регулярка не складывается.
dimy44
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)
gelius
dimy44
Выдает:
/images/kartinka1.jpg
/images/kartinka2.jpg
А мне нужно только:
/images/kartinka1.jpg
dimy44
Так тогда объясните толком, по какому признаку вы хотите их отбирать. Которая первая идет? Юзайте 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))
Или что? Сформулируйте вопрос точнее.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB