Извлечь ссылку на источник изображения с помощью регулярного выражения из тега img htmk - PullRequest
0 голосов
/ 15 марта 2020

Это тег html с целевого веб-сайта.

<img src="this.src='https://cdn.educationcourse.net/cover/educationcourse.png';" alt="education video">

Я настроил регулярное выражение, как показано ниже, чтобы получить ссылку на источник изображения

https://cdn.educationcourse.net/cover/educationcourse.png

Регулярное выражение:

(http(s)?):\/\/(www\.)?a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*) -> $ 1

Но это не работает. Как получить ссылку на изображение с помощью Regex? Спасибо!

1 Ответ

0 голосов
/ 15 марта 2020

Всегда лучше разобрать HTML. Не уверен, что именно требуется, но нижеприведенное может помочь, если вы просто используете Python и можете использовать BeautifulSoup ...

from bs4 import BeautifulSoup
import re

# import requests
# r  = requests.get("https://your-site-here")
# data = r.text

# comment out the next 5 lines if you uncomment the above bit
data = '''
<img src="this.src='https://cdn.educationcourse.net/cover/educationcourse.png';" alt="education video">
<img src="this.src='https://cdn.educationcourse.net/cover/TWO.png';" alt="education video">
<img src="this.src='https://cdn.educationcourse.net/cover/THREE.png';" alt="education video">
'''

soup = BeautifulSoup(data)

image_src = [x['src'] for x in soup.findAll('img')]

pattern = re.compile(r"'(.*)'")

for image in image_src:
    print(pattern.findall(image))

Выходы:

['https://cdn.educationcourse.net/cover/educationcourse.png']
['https://cdn.educationcourse.net/cover/TWO.png']
['https://cdn.educationcourse.net/cover/THREE.png']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...