Поиск по блогу

воскресенье, 7 сентября 2008 г.

Некоторые советы по анализу исходного кода html-страницы и программированию приложения для парсинга

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

1. Научиться работать с потоками и использовать их. В предыдущем примере я не показала, как их использовать, но если надо будет — могу написать. Хотя, все-таки, это вопрос программирования, а не парсинга.

2. Хранить такую информацию, как регулярные выражения, — исключительно в настройках. Таким образом, приложение получится более гибким.

3. При исследовании кода страницы не верьте своим глазам. Я уже говорила, что регулярное выражение надо тестировать не на тексте, который вы скопировали из окна "Просмотр HTML-кода", а через свою программу сделать промежуточное сохранение в файл и брать из этого файла. Во-первых, вы сразу увидите, что данные проступают в нужной вам кодировке. Во-вторых, вы наиболее точно получите представление о "скользких местах" (таких, как перевод каретки) и спецсимволах. Для визуального анализа советую использовать, например, FAR. Выбираете файл, потом нажимаете сначала F3, а потом F4. Получаете такую картинку:

parsing far code
На ней четко видно, что перевод строки — 2 кода (\x0D\x0A) (а при составлении регулярки по коду страницы, полученному через браузер, прокатывал перевод строки \n).

Отвлекусь от темы. В ближайшие три недели посты будут появляться чуть реже, так как у меня намечается отпуск. Уже во всю начала подготовку к нему. Но блог ни в коем случае не забрасывается. А после отпуска займусь более активным продвижением блога :) Может, организую возможность подписки на исходники примеров, которые здесь разбираю.

Желаю успехов на поприще программирования!

Статьи схожей тематики:



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

Отправить комментарий

Комментарии модерируются, вопросы не по теме удаляются, троллинг тоже.

К сожалению, у меня нет столько свободного времени, чтобы отвечать на все частные вопросы, так что, может, свой вопрос лучше задать на каком-нибудь форуме?

Поделиться