Форум программистов, компьютерный форум, киберфорум
Python: Web
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
1 / 1 / 0
Регистрация: 17.01.2024
Сообщений: 53

Как парсить сайт-веб сервер, созданный Open Harware Monitor

25.01.2025, 16:45. Показов 2067. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Кто не знает, есть такая маленькая программка - OpenHarwareMonitor. Она мониторит загруженность вашего пк(загрузка, частота процессора, температура и еще куча всего). Вы можете, для ознакомления скачать ее с офф сайта и глянуть(весит мало и легко деинсталлировать если что). У неё также есть функция вывода всех возможных характеристик вашего пк на что то вроде сайта(или что то такого, я , если честно, не вникал что там) и я бы хотел уметь снимать с него данные с помощью Python. но почему то у меня не выходит. Для примера, мне нужно получить значение температуры процессора(схема страницы будет во вложении), но почему то когда я хочу найти <tr> с id = "note-13" и вывести ее в консоль, он пишет лишь "None"

Python
1
2
3
4
5
6
7
8
9
from http.client import responses
import requests
from bs4 import BeautifulSoup
 
link = "http://192.168.0.101:8085/"
response = requests.get("http://192.168.0.101:8085/")
soup = BeautifulSoup(response.text, 'lxml')
tr = soup.find("tr", id = "note-13")
print(tr)
Как мне достать все-таки температуру?
Миниатюры
Как парсить сайт-веб сервер, созданный Open Harware Monitor   Как парсить сайт-веб сервер, созданный Open Harware Monitor   Как парсить сайт-веб сервер, созданный Open Harware Monitor  

0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
25.01.2025, 16:45
Ответы с готовыми решениями:

HtmlAgilityPack как парсить сайт с протоколом https если без "правильных" cookie сервер отдает не всю страницу
Хотел вытаскивать определенную информацию с одного из сайтов mail при помощи HtmlAgilityPack но возникло несколько проблем. При запросе к...

Веб-сервер: Как в место It works! выводить сайт?
Здравствуйте, собрал по одной статье, веб-сервер с ispConfig 3 всё работает отлично, хочу разместить в нем сайт. Сайт только для локальных...

Как рассчитать максимальную нагрузку на веб сервер. На нем один сайт на DLE
Такая ситуация, нужно рассчитать, какую нагрузку выдержит сервер. На сервере один сайт, работает на DLE 11. Включено кеширование...

3
 Аватар для kazak
3604 / 2744 / 356
Регистрация: 11.03.2009
Сообщений: 6,307
27.01.2025, 16:04
Цитата Сообщение от TIP_CHACK Посмотреть сообщение
response = requests.get("http://192.168.0.101:8085/")
soup = BeautifulSoup(response.text, 'lxml')
Во-первых неплохо было бы посмотреть код ответа и текст, может в ответе что-то не то возвращается
Python
1
2
3
4
[quote="TIP_CHACK;17508348"]response = requests.get("http://192.168.0.101:8085/")
print(response.status_code)
print(response.text)
soup = BeautifulSoup(response.text, 'lxml')[/quote]
Во-вторых, посмотреть вкладку Network в браузере при загрузке страницы, возможно сначала грузится js-скритп, а данные загружаются отдельным запросом, потом скрипт отрисовывает страницу.
0
1 / 1 / 0
Регистрация: 17.01.2024
Сообщений: 53
31.01.2025, 19:17  [ТС]
Цитата Сообщение от kazak Посмотреть сообщение
Во-первых неплохо было бы посмотреть код ответа и текст, может в ответе что-то не то возвращается
если вы про переменную responce, то вот(не знаю что это, поэтому помещу это в html) чтобы получить значение, я использовал
Python
1
print(response.text)
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
<!-- This Source Code Form is subject to the terms of the Mozilla Public
   - License, v. 2.0. If a copy of the MPL was not distributed with this
   - file, You can obtain one at http://mozilla.org/MPL/2.0/.  
     
     - Copyright (C) 2012 Prince Samuel <prince.samuel@gmail.com>  -->
 
<html>
  <head>
    <title>Open Hardware Monitor - Web Version</title>
    <script type='text/javascript' src='js/jquery-1.7.2.min.js'></script>
    <script type='text/javascript' src='js/jquery.tmpl.min.js'></script>
    <script type='text/javascript' src='js/knockout-2.1.0.min.js'></script>
    <script type='text/javascript' src='js/knockout.mapping-latest.min.js'></script>
 
    <link href="css/jquery.treeTable.css" rel="stylesheet" type="text/css" />
    <script type='text/javascript' src='js/jquery.treeTable.min.js'></script>
 
    <link href="css/custom-theme/jquery-ui-1.8.16.custom.css" rel="stylesheet" type="text/css" />
    <link href="css/ohm_web.css" rel="stylesheet" type="text/css" />
    <script type='text/javascript' src='js/jquery-ui-1.8.16.custom.min.js'></script>
    <style>
      #toolbar {
        padding: 10px 10px;
      }
      #slider {
        display: inline-block;
        width: 100px;
      }
    </style>
 
 
    <script type='text/javascript' src='js/ohm_web.js'></script>
 
  </head>
 
  <body>
 
    <div class="header">
 
      <span id="toolbar" class="ui-widget-header ui-corner-all">
        <button id="refresh" data-bind="click: update">Refresh</button>
        <input type="checkbox" id="auto_refresh" data-bind="checked: auto_refresh"/><label for="auto_refresh">Auto Refresh</label>
        &nbsp;<div id="slider"></div>&nbsp;&nbsp;&nbsp;&nbsp;<span for="auto_refresh" id="lbl"></span>
      </span>
    </div>
 
    <div class="main">
      <table data-bind="treeTable: flattened, treeOptions: { initialState: 'expanded', clickableNodeNames: true } ">
        <thead><td>Sensor</td><td>Min</td><td>Value</td><td>Max</td>
          <tbody data-bind="foreach: flattened">
            <tr data-bind="attr: { 'id': 'node-' + id(), 'class': parent.id()?'child-of-node-' + parent.id():'' }">
              <td data-bind="html: '<img src=' + ImageURL() + ' />&nbsp; ' + Text()"></td>
              <td data-bind="text: Min"></td>
              <td data-bind="text: Value"></td>
              <td data-bind="text: Max"></td>
            </tr>
          </tbody>
        </table>
      </div>
    </body>
  </html>
Если вы про soup, то вот:

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
<!-- This Source Code Form is subject to the terms of the Mozilla Public
   - License, v. 2.0. If a copy of the MPL was not distributed with this
   - file, You can obtain one at http://mozilla.org/MPL/2.0/.  
     
     - Copyright (C) 2012 Prince Samuel <prince.samuel@gmail.com>  --><html>
<head>
<title>Open Hardware Monitor - Web Version</title>
<script src="js/jquery-1.7.2.min.js" type="text/javascript"></script>
<script src="js/jquery.tmpl.min.js" type="text/javascript"></script>
<script src="js/knockout-2.1.0.min.js" type="text/javascript"></script>
<script src="js/knockout.mapping-latest.min.js" type="text/javascript"></script>
<link href="css/jquery.treeTable.css" rel="stylesheet" type="text/css"/>
<script src="js/jquery.treeTable.min.js" type="text/javascript"></script>
<link href="css/custom-theme/jquery-ui-1.8.16.custom.css" rel="stylesheet" type="text/css"/>
<link href="css/ohm_web.css" rel="stylesheet" type="text/css"/>
<script src="js/jquery-ui-1.8.16.custom.min.js" type="text/javascript"></script>
<style>
      #toolbar {
        padding: 10px 10px;
      }
      #slider {
        display: inline-block;
        width: 100px;
      }
    </style>
<script src="js/ohm_web.js" type="text/javascript"></script>
</head>
<body>
<div class="header">
<span class="ui-widget-header ui-corner-all" id="toolbar">
<button data-bind="click: update" id="refresh">Refresh</button>
<input data-bind="checked: auto_refresh" id="auto_refresh" type="checkbox"/><label for="auto_refresh">Auto Refresh</label>
         <div id="slider"></div>    <span for="auto_refresh" id="lbl"></span>
</span>
</div>
<div class="main">
<table data-bind="treeTable: flattened, treeOptions: { initialState: 'expanded', clickableNodeNames: true } ">
<thead><td>Sensor</td><td>Min</td><td>Value</td><td>Max</td>
</thead><tbody data-bind="foreach: flattened">
<tr data-bind="attr: { 'id': 'node-' + id(), 'class': parent.id()?'child-of-node-' + parent.id():'' }">
<td data-bind="html: '&lt;img src=' + ImageURL() + ' /&gt;  ' + Text()"></td>
<td data-bind="text: Min"></td>
<td data-bind="text: Value"></td>
<td data-bind="text: Max"></td>
</tr>
</tbody>
</table>
</div>
</body>
</html>
Цитата Сообщение от kazak Посмотреть сообщение
Во-вторых, посмотреть вкладку Network в браузере при загрузке страницы, возможно сначала грузится js-скритп, а данные загружаются отдельным запросом, потом скрипт отрисовывает страницу.
Во вложении я прикрепил скриншот(как я понял в самом конце файл data.json это файл, который отправляется для обновления данных на странице)
Миниатюры
Как парсить сайт-веб сервер, созданный Open Harware Monitor  
0
 Аватар для kazak
3604 / 2744 / 356
Регистрация: 11.03.2009
Сообщений: 6,307
03.02.2025, 11:00
Там отдается динамическая страница, данные получаются отдельным запросом и отрисовываются с помощью JS после загрузки. Вызывайте запрос на получение данных напрямую и работайте с json.
Python
1
requests.get("http://192.168.0.101:8085/data.json")
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
03.02.2025, 11:00
Помогаю со студенческими работами здесь

Open hardware monitor и telegram
Всем привет, хотел бы связать телеграм бота с программой open hardware monitor, чтобы бот отправлял мне температуру если она превышает...

Запуск Open Hardware Monitor
Здравствуйте! Имею небольшой опыт работы с Линукс. Простите за глупые вопросы. Имеется Ubuntu. Работаю в терминале. Нет графической...

Как парсить фрейм веб-страницы
Господа, есть один фрейм: &lt;html&gt; &lt;head&gt; &lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=windows-1251&quot;&gt; &lt;link...

Как парсить сайт?
Добрый день! Нужна помощь с парсингом сайта origin.com на php Контент, как я понимаю(могу и ошибаться), загружается через xml, а как...

Как парсить только определенный блок веб-страницы
Моя цель : спарсить и загрузить рандомную картинку из этого блока. Я хочу чтобы при выполнении запроса получить страницу html не целиком, а...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru