Добрый вечер!
Пишу простой парсер для вывода некоторых полей из страницы интернет-магазина. Например, вот так:
rx_image = r'class="jshop_img (.*)" src="(.*)" alt='
image = re.compile(rx_image)
for line in page:
img_obj = image.search(line)
if img_obj:
img_item = img_obj.group(2)
print "Picture: ", img_item
Проблема заключается в том, что в некоторых местах в HTML-коде есть перевод на новую строку и re не находит соответствий.
Т.е., если код такой:
<img class="jshop_img second-image" src=/components/com_jshopping/files/img_products/thumb_________________________1_.jpg" alt="">
То все работает как надо. Но, если есть такой код:
<div class="name">
<a href="/component/jshopping/product/view/97/334?Itemid=101">Коктейль молочный малый</a>
</div>
То он не находить строку. Если искать только код после перевода строки, например:
rx_name = r'<a href="(.*)">(.*)</a>'
то сравнение проходит нормально, но добавляются ненужные мне строки.
Как можно обойти это ограничение? Пробовал писать
image = re.compile(rx_image, re.DOTALL)
Результат не поменялся.