ASP RSS-аналізатар, счытвальнік каналаў

Depositphotos 4651719 с

У гэтыя выхадныя я прыляпіўся да ноўтбука, шукаючы ў Інтэрнэце інтэрнэт-счытвальнікі RSS-стужак. Прычына ў тым, што я хацеў напісаць asp-счытвальнік RSS-каналаў, які будзе адлюстроўваць стужку, каб змест можна было аўтаматычна скрабаваць у HTML-ліст. Такім чынам, для людзей, якія хочуць забраніраваць частку рассылкі па электроннай пошце для артыкулаў у блогах альбо публікацыях, яе можна лёгка ўключыць. Паколькі JavaScript фактычна не адлюстроўвае змест, пакуль кліент не загружае і не выконвае сцэнарый, мноства аглядальнікаў RSS RSS не было карысным. Мне спатрэбіўся серверны счытвальнік RSS-стужак.

Я пачаў з напісання ўласнага аналізатара ў ASP з выкарыстаннем аб'екта MSXML. Мне ўдалося прааналізаваць каля 75% RSS-стужак, аднак некаторыя недаступныя XML-спецыфікацыі RSS-каналаў апынуліся вельмі складанымі для праграмавання. Вы бачыце гэта ў дзеянні тут. Вы можаце перадаць максімальную колькасць элементаў (ni), колькасць адрэзаных знакаў у слове (nc), а таксама URL. Вы таксама можаце ўбачыць фактычны канал са зменнай адладкі тут.

Шмат якія RSS-каналы сапраўды "брудныя" і патрабуюць разбору тэксту ў XML-файле з дапамогай кода маніпуляцыі радкамі (цьфу!). Зразумела, мы ўсё яшчэ знаходзімся ў сетцы "маладосці" RSS, таму я не здзіўлены. Даведайцеся больш пра спецыфікацыі RSS тут.

Нарэшце я наткнуўся на маленькі камень. Я знайшоў бясплатны клас ASP для загрузкі. Гэта крыху павольна, але я не знайшоў стужку, якую не мог прачытаць. У мяне ёсць статычная версія і дынамічная.

Пара нататак пра сцэнар. Мне трэба было ачысціць некаторыя HTML-тэгі ў вернутых апісаннях. Я зрабіў гэта з невялікай функцыяй ачысткі, якую знайшоў:

Функцыя Remove HTML (strText) Dim nPos1 Dim nPos2 nPos1 = InStr (strText, ">") Do while nPos1> 0 nPos2 = InStr (nPos1 + 1, strText, ">") If nPos2> 0 then strText = Left (strText, nPos1 - 1) & Mid (strText, nPos2 + 1) Else Exit Do End If nPos1 = InStr (strText, ">") Loop RemoveHTML = strText End Function

Я таксама дадаў яшчэ адзін акуратны код: Часам, магчыма, мне захочацца адлюстраваць больш-менш апісанне. Аднак, калі я проста абмежую колькасць знакаў, я магу адрэзаць апісанне ў сярэдзіне слова. Я не хачу гэтага рабіць!

Адключэнне функцыі (strText, intChars) dim intLength dim j intLength = len (strText) if intChars> intLength then for j = intChars to 0 step -1 if mid (strText, j, 1) = "" then exit for next if j> 0 потым strText = злева (strText, j-1) & "..." інакш strText = strText end, калі end, калі Cutoff = strText End Function

(У мяне былі праблемы з правільным адлюстраваннем кода ў гэтым запісе ... дайце мне ведаць, калі ў вас узнікнуць праблемы з любой з гэтых функцый!)

Я заўважыў яшчэ нямала інструментаў у сетцы. Гэта
. NET версія, шмат версій PHP, маса версій JavaScript.

У заключэнне я спадзяюся, што спецыфікацыі RSS па-ранейшаму ўдасканальваюцца, а фактычныя каналы ва ўсіх выпадках адпавядаюць стандартам XML. Бясплатныя прыкладання, такія як TypePad, WordPress і г.д., павінны ўдасканаліць свае функцыянальныя магчымасці RSS. Дадатковыя блогі, такія як MySpace, Xanga, LiveJournal і г.д., павінны палепшыць сваю функцыянальнасць RSS. RSS магутны ...Крыс Баггот напісаў добры артыкул пра электронную пошту супраць RSS. Я думаю, што аб'яднанне іх функцыянальнасці можа ўзмацніць уздзеянне абодвух!

Што вы думаеце?

Гэты сайт выкарыстоўвае Akismet для барацьбы са спамам. Даведайцеся, як дадзеныя апрацоўваюцца каментар.