0

私はこのようなブログ記事からコンテンツを抽出しようとしています:

static void GetBlogData (string blogPostUrl)
{
    string blogPostContent = null;

    WebClient client = new WebClient ();
    //client.Headers.Add (HttpRequestHeader.Referer, "http://www.stackoverflow.com");

    TextWriter writer = new StreamWriter ("/home/nanda/projects/mono/common/article");

    try
    {
        blogPostContent = client.DownloadString (blogPostUrl);
    }

    catch (Exception ex)
    {
        Term.PrintLn ("Unable to download\n{0}", ex.Message);
    }

    if (blogPostContent != null) 
    {
        writer.WriteLine (blogPostContent);
    } 

    else
    {
        Term.PrintLn ("No content found");
    }
}

これは単純すぎるアプローチであることは承知していますが、ブロックなどがあるなど、一部のURLからコンテンツを抽出できない理由を知りたいと思います。ウェブサイト/ブログがコンテンツのダウンロードをブロックしているかどうかをどのように検出できますか?

4

1 に答える 1

2

Webサイトは、ブラウザからのサイトの参照をブロックせずに、コンテンツのダウンロードをブロックすることはできません。

ダウンロードが失敗した場合は、次のいずれかを意味します。

a)あなたのURLが間違っている

b)Webサイトに何らかの形式のIDが必要であり、要求に何か(おそらくCookie)がない

于 2012-07-19T07:35:53.780 に答える