Я использую MRTG для мониторинга использования ЦП / MEM / трафика устройств, и каждое устройство имеет разные порты / vlans / интерфейсы. Когда я хочу создать таблицу / Excel, показывающую статистику всех интерфейсов, я обнаружил, что это очень неэффективно, потому что мне нужно щелкнуть примерно на 400 веб-страниц и скопировать таблицы (входящий / исходящий трафик, максимальное / среднее / текущее использование ЦП, максимальное / Avg Connections и т. Д.) Из html.
Мой вопрос: есть ли скрипты / инструменты для автоматизации этой работы? [Извлеките определенные значения таблицы с каждой веб-страницы и заполните таблицу / Excel].
Вы можете обнаружить, что есть лучшие способы получить нужные данные, чем анализ HTML, созданного MRTG (например, например, использование SNMP напрямую). Однако это может помочь, если действительно нужно проанализировать HTML:
Если вы хотите использовать Python, вам поможет библиотека BeautifulSoup. Вам все равно придется написать код, но BeautifulSoup довольно гибкий.
Вот грубый пример, который выгружает все HTML-таблицы на странице в CSV:
import sys
import csv
import urllib2
import BeautifulSoup
page = urllib2.urlopen(sys.argv[1]).read()
soup = BeautifulSoup.BeautifulSoup(page)
csvout = csv.writer(sys.stdout)
for table in soup.findAll('table'):
print '#'
print '# Table'
print '# Fields: ' + ','.join([tr.text for tr in table.findAll('th')])
for row in table.findAll('tr'):
csvout.writerow([tr.text for tr in row.findAll('td')])
print
Предполагая, что у вас установлен Python, а также BeautifulSoup (pip install BeautifulSoup
или easy_install BeautifulSoup
) и предполагая, что вы сохранили приведенный выше код как htmltable2csv.py
вы можете отобразить все таблицы на странице следующим образом:
python htmltable2csv.py http://www.w3schools.com/tags/tag_table.asp
Я наконец нашел расширение Firefox iMacros для Firefox очень полезен при записи и воспроизведении повторяющейся работы. Он хорошо и эффективно извлекает данные с огромных веб-страниц с одинаковой структурой.
Более того, iMacros подробно описал учебные пособия и образцы кодов. iMacros для Firefox бесплатен для личного и коммерческого использования, если вас это волнует (например, меня).
Я настоятельно рекомендую iMacros если вы когда-нибудь захотите автоматизировать какую-то громоздкую работу!