Я проанализировал html-документ, содержащий javascript с beautifulsoup, и сумел изолировать javascript внутри него и преобразовать его в строку. Javascript выглядит следующим образом:Использование регулярных выражений для извлечения определенных URL-адресов в python
<script>
[irrelevant javascript code here]
sources:[{file:"http://url.com/folder1/v.html",label:"label1"},
{file:"http://url.com/folder2/v.html",label:"label2"},
{file:"http://url.com/folder3/v.html",label:"label3"}],
[irrelevant javascript code here]
</script>
Я пытаюсь получить массив с только URL, содержащиеся в этом источники массива, который будет выглядеть так:
urls = ['http://url.com/folder1/v.html',
'http://url.com/folder2/v.html',
'http://url.com/folder3/v.html']
домены неизвестный IP-адрес, папки имеют случайную длину имени, состоящую из строчных букв и цифр, и в каждом файле их 1-5 из них (обычно 3). Все, что является постоянным, заключается в том, что они начинаются с http
и заканчиваются .html
.
я решил использовать регулярные выражения для решения этой проблемы (что я совершенно новый в) и мой код выглядит следующим образом: urls=re.findall(r'http://[^t][^s"]+', document)
[^t]
есть, потому что есть другие адреса в документе, чьи доменные имена начните с t. Моя проблема в том, что есть еще один url с jpg из того же домена, что и url, который я извлекаю, который попадает в массив urls вместе с другими.
Пример:
urls = ['http://123.45.67.89/asodibfo3ribawoifbadsoifasdf3/v.html'
'http://123.45.67.89/alwefaoewifiasdof224a/v.html',
'http://123.45.67.89/baoisdbfai235oubodsfb45/v.html',
'http://123.45.67.89/i/0123/12345/aoief243oinsdf.jpg']
Как бы я идти о только извлечение HTML-адреса?