Как добавить URL-адрес в HTML-файл

#python #html #iframe

#python #HTML #iframe

Вопрос:

 <html>
<body>

<h2>HTML Iframes</h2>
<p>You can use the height and width attributes to specify the size of the    iframe:</p>

<iframe src="https://www.google.com/maps/embed/v1/place?key=AIzaSyAPi0wzs7IlNc4nlL3atU7iCd-A9QXfuHsamp;q=4.5596,-76.2801amp;zoom=18amp;maptype=satellite" height="200" width="300"></iframe>

</body>
</html>
  

Итак, этот HTML-файл создан на моем компьютере, теперь мне нужно изменить то, что идет после src, на новую строку, например, эту —

https://www.google.com/maps/embed/v1/place?key=AIzaSyAPi0wzs7IlNc4nlL3atU7iCd-A9QXfuHsamp;q=25.5596,-7.2801amp;zoom=18amp;maptype=satellite

Итак, как я могу добавить эту строку примера в html-файл после src=?

Комментарии:

1. итак, вы спрашиваете, как изменить src из iframe тега?

2. Да, мои данные URL меняются каждый день, и мне нужно постоянно обновлять src

3. вероятно, вам придется изменить его вручную

4. @AlexShakhnovskiy вы можете использовать BeautifulSoup , чтобы получить тег iframe и изменить src.

5. Ну, я думал об этом, но он меняется каждые пару часов или около того, поэтому всякий раз, когда я запускаю код, мне приходится обновлять его. Это должно быть возможно, но я не знаю, как этого добиться

Ответ №1:

 from bs4 import BeautifulSoup

htmlstr = '''
<html>
<body>

<h2>HTML Iframes</h2>
<p>You can use the height and width attributes to specify the size of the    iframe:</p>

<iframe src="https://www.google.com/maps/embed/v1/place?key=AIzaSyAPi0wzs7IlNc4nlL3atU7iCd-A9QXfuHsamp;q=4.5596,-76.2801amp;zoom=18amp;maptype=satellite" height="200" width="300"></iframe>

</body>
</html>
'''

soup = BeautifulSoup(htmlstr)

iframe = soup.find('iframe')
iframe["src"] = "test"
print(soup)
  

это должно быть решением, которое вы ищете. замените iframe["src"] = "test" ссылкой, которую вы хотите предоставить, и сохраните результат обратно в HTML-файл.

Комментарии:

1. Спасибо, но я попытался запустить его, и я получаю из bs4 import BeautifulSoup html = open (‘api.htm ‘).read() soup = BeautifulSoup(html) iframe = soup.find(‘iframe’) iframe[«src»] = «test» с помощью open(«output_api.html «, «w») в виде файла: file. написать (soup) распечатать (soup) Ошибка типа: объект ‘NoneType’ не поддерживает назначение элемента в строке 8

2. Я предполагаю, что он не нашел iframe тег и, следовательно, iframe["src"] = "test" сбой. Вы прошлись по своему коду и проверили, выдает ли `soup = BeautifulSoup (html)` вам правильную страницу?

3. @AlexShakhnovskiy действительно ли soup переменная содержит iframe тег?

4. @AlexShakhnovskiy теперь то, что не работает. Код, который я отправил вам, отлично работает для меня на python 3.7.2 Я не хочу сказать, что я сварливый, но вам нужно выразиться понятнее, чтобы я мог вам помочь.

5. Хорошо, ошибка нетипирования все еще существует, даже знаю, что он напечатал soup 1 раз со всей информацией, а затем он перестал печатать что-либо (это то, где я сейчас)