Доброго времени,
как работать с различными кодировками, например win-1251.
Для примера код который ищет "главные" ссылки на mail.ru:
-module(parse_mail).
%% API
-export([start/0]).
%% поиск "главных ссылок"
start()->
grab_inet:start(),
Body=grab_inet:get_content("http://www.mail.ru"),
parse_div(list_to_binary(Body)).
%% Функция для определения начала нужного куска
parse_div(<<"<div id=\"rbLoadedId_4473\">",Rest/binary>>)->
collect_url(Rest);
parse_div(<<_Char,Rest/binary>>) ->
parse_div(Rest);
parse_div(<<>>)->
erlang:error("Start div не найден!").
%% поиск ссылок внутри div
collect_url(Rest)->
collect_url(Rest,[]).
% начало ссылки
collect_url(<<"<a",Rest/binary>>,Acc)->
{Url,T}= collect_url_body(Rest,lists:reverse("<a")),
collect_url(T,[Url|Acc]);
% закончить поиск
collect_url(<<"<div id=\"rbLoadedId",_Rest/binary>>,Acc)->
lists:reverse(Acc);
collect_url(<<_Char,Rest/binary>>,Acc) ->
collect_url(Rest,Acc);
collect_url(<<>>,Acc) ->
Acc.
%% код внутри ссылки
collect_url_body(<<"<\/a>",Rest/binary>>,L)->
{lists:reverse(L,"</a>"),Rest};
collect_url_body(<<Char,Rest/binary>>,L) ->
collect_url_body(Rest,[Char|L]);
collect_url_body(<<>>,_) ->
erlang:error("Ссылка оформлена не верно, нет закрывающего тега").
ссылки он находит, но как привести в "читабельный вид"?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>