25 Ağustos 2011 Perşembe

Web Sayfalarından İçerik Alma

Web sitelerinizin belirli sayfalarında uzun açıklamalar, makaleler vb. yazılar bulunur ve bu yazılardan kısa bir pasajını ana sayfada göstererek okuyucunun ilgisini çekmek isteyebilirsiniz. İstediğiniz pasajı kopyalayıp yapıştırarak görüntüleyebilirsiniz ancak içerik güncellendiği takdirde ana sayfayı da güncellemek zorunda kalırsınız ve bu size çok zaman kaybettirir.

Çeşitli metodlarla programatik olarak web sayfalarından içeriğinizin bir kısmını çekebilmeniz mümkün. Örneğin içeriğiniz paragraflara ayrıldığından ilk paragrafı çekerek pasajınızı yayınlayabilirsiniz. Aşağıdaki küçük örnek işinizi görecektir:

using System;
using System.Web;
using System.Web.UI;
using System.Text;
using System.Text.RegularExpressions;
using System.IO;

public partial class Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        string FirstParagraph = GetFirstParagraph();
        LabelPasaj.Text = FirstParagraph;
    }

    protected string GetFirstParagraph()
    {
        string html = File.ReadAllText("http://www.website.com/content.aspx");
        Match m = Regex.Match(html, @"

\s*(.+?)\s*

"); if (m.Success) { return m.Groups[1].Value; } else { return ""; } }

Gördüğünüz üzere Page_Load tarafına metoddan ilgili pasajı string olarak alıp ana sayfada yayınlayacağımız label'in Text'ine atıyoruz. Böylece ziyaretçilere diğer sayfaları gezdirmeden sayfaları önizleme yapmalarına imkan sağlayabiliriz.

Hiç yorum yok:

Yorum Gönder