2016-11-28 39 views
0

C#とデータスクレイピングの新機能です。どうすればよいかわかりません。私はgoogleのいくつかのキーワードを検索し、次に検索結果のそれらのタイトルと説明とURLを取得する予定だったseocheki.netのURLを使用してもデータを抽出します。私はどうすればいいのですか?C#を使用して複数のサイトを掻き集める

私はまだGoogle検索結果を抽出するために何をすべきかわからないので、私はseochekiでデータを取得しようとしました。

私はseocheki

private async Task<List<Seocheki>> ResultFromSeocheki(int pageNum) 
    { 


     string url = "http://seocheki.net/site-check.php?u=http%3A%2F%2Fwww.gamerankings.com%2Fbrowse.html"; 
     var doc = await Task.Factory.StartNew(() => web.Load(url)); 
     var titleNodes = doc.DocumentNode.SelectNodes("//*[@id=\"td-title\"]"); 
     var descNodes = doc.DocumentNode.SelectNodes("//*[@id=\"td-desc\"]"); 
     var keywordNodes = doc.DocumentNode.SelectNodes("//*[@id=\"td-kw\"]"); 
     var h1Nodes = doc.DocumentNode.SelectNodes("//*[@id=\"td-h1\"]"); 


     var title = titleNodes.Select(node => node.InnerText).ToList(); 
     var desc = descNodes.Select(node => node.InnerText).ToList(); 
     var keyword = keywordNodes.Select(node => node.InnerText).ToList(); 
     var h1 = h1Nodes.Select(node => node.LastChild.InnerText).ToList(); 

    } 

にデータを取得するためにHTMLAgilityPackを使用しようとしたが、これは、結果のデータをこすりする方法

enter image description here

のですか? HTMLAgilityPackは私にとってうまくいかないようです。

答えて

0

は、この答えを見てみましょう:あなたはそれがHTML見ることができます

... 
<th class="pelem">title</th><td id="td-title" colspan="3">&nbsp;</td> 
</tr> 
<tr> 
<th class="pelem">description</th><td id="td-desc" colspan="3">&nbsp;</td> 
</tr> 
<tr> 
<th class="pelem">keywords</th><td id="td-kw" colspan="3">&nbsp;</td> 
</tr> 
... 

Running Scripts in HtmlAgilityPack

は基本的にHTMLAgilityPackあなたはhttp://seocheki.net/site-check.php?u=http%3A%2F%2Fwww.gamerankings.com%2Fbrowse.html上のソースを表示する場合、あなたは次のセクションが表示されます、HTMLエンジンであり、これらの項目の内容は実際には ' 'です。ウェブページに表示される実際のテキストコンテンツはjavascriptを介して注入されています.HTMLAgilityPackはそれを入手できませんので、詳細についてはこの回答の上部にあるリンクをご覧ください。

ただし、サイトのJavaScriptで簡単に見、これらのフィールドは、以下のJSONバック与えhttp://seocheki.net/get/get-siteinfo.php?url=http%3A%2F%2Fwww.gamerankings.com%2Fbrowse.html

への呼び出しから移入されているを示しています。だから、あなたが直接そのJSONを照会して使用することができます

{"title":" Reviews and News Articles - GameRankings","desc":"GameRankings browse/search engine shows games review scores from around the net.","kw":"","h1":"Browse and Search Games","inlink":"68","outlink":"6","lastm":"-","fsize":"54.6KB","ttime":"0.996秒"} 

を*

*私は法的にも適法でもないと主張していません。

+0

が表示されます。ご協力ありがとうございました! – Blake

関連する問題