Нужно извлечь все ссылки из скрипта тега HTML Python - PullRequest
1 голос
/ 28 мая 2019

В основном мне нужно проанализировать все ссылки src = "" со всех тегов <script> в HTML.

<script src="path/to/example.js" type="text/javascript"></script>

К сожалению, bs4 не может этого сделать. Есть идеи, как мне этого добиться?

Ответы [ 2 ]

2 голосов
/ 28 мая 2019
import requests
import bs4
text = requests.get('http://example.com').text
soup = bs4.BeautifulSoup(text, features='html.parser')
scripts = soup.find_all('script')
srcs = [link['src'] for link in scripts if 'src' in link.attrs]
print(srcs)
0 голосов
/ 28 мая 2019

Я бы сжал и использовал script[src], чтобы скрипт имел атрибут src

import requests
from bs4 import BeautifulSoup as bs
r = requests.get('http://example.com').content
soup = bs(r, 'lxml') # 'html.parser' if lxml not installed
srcs = [item['src'] for item in soup.select('script[src]')]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...