Как редактировать код сайта с помощью python?

Здравствуйте. есть необходимость в изменении данных на сайте для скриншота. Хочу попробовать сделать с помощью редактирования кода элемента на странице. Можете подсказать бибилотеки или другие способы реализовать это.

Надо: скрипт открывает сайт с одними данными, а на выходе выдаёт скрин с другими числовыми данными, которые сгенерированны по особым настройкам.
  • Вопрос задан
  • 3483 просмотра
Решения вопроса 2
fox_12
@fox_12 Куратор тега Python
Расставляю биты, управляю заряженными частицами
Легко делается Селениумом:
driver.get('http://lenta.ru')
driver.execute_script('''
var aTags = document.getElementsByTagName("a");
for (var i = 0; i < aTags.length; i++) {
  if (aTags[i].innerText.startsWith("07:50Опубликованы данные")) {
    aTags[i].innerText = "Утки с Марса захватили вселенную!";
    break;
  }
}
''')
time.sleep(1)

screenshot = driver.get_screenshot_as_png()

Я взял пример посложней. В вашем случае наверняка селектор можно выбрать попроще

5ef193d5d223f668104370.png
Ответ написан
@Pavlks
начну отвечать:
Для начала необходимо импортировать библиотеку для отправки запросов (import requests) и BeautifulSoup для анализа и ориентирования по HTML коду, который вы получите от requests.
Дальше используя BeautifulSoup вы находите то место в коде, которое нужно менять и подставляете туда свои значения.
Сужу по себе, и большая часть времени уйдет на работу с BeautifulSoup.
Пара строк кода, чтобы было от чего отталкиваться...
import requests
from bs4 import BeautifulSoup

url = 'https://www.nhc.noaa.gov/cyclones/'
r = requests.get(url)
html = BeautifulSoup(r.content, 'html.parser')
cyclones_section = html.find("div", id="cyclones_stormTable")  # это секция, где идут перечисления активных циклонов
cyclones_results = cyclones_section.select("table > tr:nth-of-type(3) > td > table > tr > td:nth-of-type(1)") # так выглядит поиск нужного куска кода в HTML
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
HemulGM
@HemulGM Куратор тега Python
Delphi Developer, сис. админ
Используешь какой-нибудь фреймворк для того, чтобы можно было добавить в окно хост браузера. Например, Qt.
Загружаешь страницу в браузер и меняешь, либо доступом к DOM, либо через выполнение скриптов. QtWebEngine это позволяет. Затем делаешь снимок.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы