Я не знаю ни о каких подобных инструментах, и я думал о записи той в прошлом, но оказывается, что это - трудная проблема решить.
Говорят, что Ваш исходный файл включает a.h и b.h; a.h содержит #define USE_FEATURE_X
и использование b.h #ifdef USE_FEATURE_X
. Если #include "a.h"
комментируется, Ваш файл может все еще скомпилировать, но не может сделать то, что Вы ожидаете. Обнаружение этого программно нетривиально.
Независимо от того, что инструмент делает это должно было бы знать Вашу среду сборки также. Если a.h похож:
#if defined( WINNT )
#define USE_FEATURE_X
#endif
Тогда USE_FEATURE_X
только определяется, если бы WINNT
определяется, таким образом, инструмент должен был бы знать, какие директивы сгенерированы самим компилятором, а также которые определяются в команде компиляции, а не в заголовочном файле.
В Perl нечто вроде WWW :: Mechanize
уже может сделать ваш скрипт более простым и надежным, потому что он может находить HTML-формы в предыдущих ответах с веб-сайта. Вы можете заполнить эти формы, чтобы подготовить новый запрос. Например:
my $mech = WWW::Mechanize->new();
$mech->get($url);
$mech->submit_form(
form_number => 1,
fields => { password => $password },
);
die unless ($mech->success);
Комбинация WWW :: Mechanize и Web :: Scraper - два инструмента, которые делают меня наиболее продуктивным. Есть хорошая статья об этой комбинации на Catalyzed.org
Если бы я дал вам один совет, я бы использовал XPath для всех ваших нужд по очистке. Избегайте регулярных выражений.
Хм, только что нашел
Это Perl-модуль специально для моего банка! Не ожидал, что это будет так просто.
Многие банки публикуют свои данные в стандартном формате, который обычно используется пакетами личных финансов, такими как MS Money или Quicken, для загрузки информации о транзакциях. Вы можете найти эту ловушку и загрузить, используя тот же API, а затем проанализировать данные на вашем конце (например, проанализировать документы Excel с помощью Spreadsheet :: ParseExcel и документы Quicken с помощью Finance :: QIF ).
Изменить (ответ на комментарий): Думали ли вы о том, чтобы связаться с вашим банком и спросить их, как вы можете программно войти в свою учетную запись, чтобы загрузить финансовые данные? Многие / большинство банков имеют для этого API (который используют Quicken и т. Д., Как описано выше).
Используйте perl и пакет web :: scraper: {{1 }} текст ссылки