У меня проблемы с использованием метода re.search (). Я пытаюсь извлечь ссылку на изображение из следующей строки:
div class="beitragstext">\n\t\t\t\t<p>Es gibt derzeit keine Gründe mehr NICHT auf 1.1.3 zu springen!</p>\n<p><a href="http://www.flickr.com/photos/factoryjoe/372948722/"><img src="https://www.iphoneblog.de/wp-content/uploads/2008/02/372948722-6ec4028a80.jpg" alt="372948722_6ec4028a80.jpg" border="0" width="430" height="466" /></a></p>\n<p>Photo: <a href="http://www.flickr.com/photos/factoryjoe">factoryjoe</a>
Я хочу вычесть URL первого изображения и только URL.
Это мой код: imageURLObject = re.search(r'http(?!.*http).*?\.(jpg|png|JPG|PNG)', match)
imageURLObject = re.search(r'http(?!.*http).*?\.(jpg|png|JPG|PNG)', match)
Результат должен быть https://www.iphoneblog.de/wp-content/uploads/2008/02/372948722-6ec4028a80.jpg
https://www.iphoneblog.de/wp-content/uploads/2008/02/372948722-6ec4028a80.jpg
Вместо этого возвращаемым методом является None. Но если использовать это регулярное выражение re.search(r'http.*?\.(jpg|png|JPG|PNG)', match) без `* (?!. http) , первое совпадение http будет соответствовать до . (Jpg | png | JPG | PNG) и это будет возвращение:
re.search(r'http.*?\.(jpg|png|JPG|PNG)', match)
http://www.flickr.com/photos/factoryjoe/372948722/"><img src="https://www.iphoneblog.de/wp-content/uploads/2008/02/372948722-6ec4028a80.jpg
Может кто-нибудь помочь мне, пожалуйста? : -)
Используйте Красивый суп для разбора HTML.
https://beautiful-soup-4.readthedocs.io/en/latest/
from bs4 import BeautifulSoup html = """ <div class="beitragstext">\n\t\t\t\t<p>Es gibt derzeit keine Gründe mehr NICHT auf 1.1.3 zu springen!</p>\n<p><a href="http://www.flickr.com/photos/factoryjoe/372948722/"><img src="https://www.iphoneblog.de/wp-content/uploads/2008/02/372948722-6ec4028a80.jpg" alt="372948722_6ec4028a80.jpg" border="0" width="430" height="466" /></a></p>\n<p>Photo: <a href="http://www.flickr.com/photos/factoryjoe">factoryjoe</a> """ soup = BeautifulSoup(html, 'lxml') links = soup.find_all('div', {'class': 'beitragstext'}) for i in links: print(i.find('img')['src']) >>> https://www.iphoneblog.de/wp-content/uploads/2008/02/372948722-6ec4028a80.jpg