Python. Как с помощью регулярных выражений, достать информацию из ссылок?
С сайта достаю все ссылки href, но не получается вытащить из этих ссылок информацию.
from selenium import webdriver
from selenium.webdriver.common.by import By
import re
options = webdriver.ChromeOptions()
driver = webdriver.Chrome(options=options)
driver.get ('https://crt.sh/?q=cyber-ed.ru')
element = driver.find_elements(By.TAG_NAME, "a")
for e in element:
find_atribut = e.get_attribute('href')
regex = r'href=[\'"]?([^\'" >]+)'
print(re.findall(regex, find_atribut))
Ответы (1 шт):
Автор решения: Vitalizzare ушел в монастырь
→ Ссылка
Когда вы делаете запрос e.get_attribute('href')
, ответом будет значение атрибута href
тега <a>
, т.е. целевой адрес ссылки. В нем не будет имени атрибута, и ссылка не будет закавычена. Там будет URL-адрес гиперссылки, который не совпадет с выражением вида r'href="..."'
. Чтобы собрать ссылки, вам не нужны регулярные выражения:
anchor_elements = driver.find_elements(By.TAG_NAME, "a")
hyperlinks = [e.get_attribute('href') for e in anchor_elements]
print(*hyperlinks, sep='\n')