2015-08-14 165 views
1

我想創建一個應用程序以保留網頁上提供的某些信息的歷史記錄。從網站存儲信息

一個什麼樣的頁面看起來就像一個例子:http://csgolounge.com/match?m=4961

所以我在想什麼,就是把瀏覽器中的表單中,然後導航到一個頁面,然後點擊一個按鈕來保存網頁上的信息,在後面的代碼中將選擇頁面,查看源代碼或其他內容,並選擇適當的數據並存儲。

我想獲得的數據是: TEAM1, 的Team2, 優勝者和 百分比爲每個團隊和用於下注的比率。

我只是想知道這是可能的還是有更好的方法呢?我不確定網站是否有API或任何東西。

無需代碼,因爲我還沒有開始,

回答

0

你有沒有做過網頁抓取過嗎?如果不是,那看起來就是你想要做的。 Web Scraping通常屬於這個灰色區域,無論它是否合法,但如果您的應用程序用於非商業目的,我認爲您應該沒有任何問題。

有很多網頁抓取API。例如,CSQueryHTMLAgilityPack是.NET着名的網頁抓取庫。

我推薦使用這些庫。這裏是你如何使用CSQuery之類的東西。這裏是小提琴 - https://dotnetfiddle.net/0ugatU

using System; 
using System.Text.RegularExpressions; 
using CsQuery; 

public static class Scraper 
{ 
    public static string RemoveHTMLTags(string html) 
    { 
     return Regex.Replace(html, "<.*?>", string.Empty); 
    } 

    public static bool FindWinner(string item) 
    { 
     if(item.Contains("(win)")) 
     { 
      return true; 
     } 

     return false; 
    } 
} 

public class Program 
{ 
    public static void Main() 
    { 
     CQ dom = CQ.CreateFromUrl("http://csgolounge.com/match?m=4961"); 
     CQ bold = dom["div > a b"];  
     CQ italic = dom["div > a i"]; 

     string team1 = Scraper.RemoveHTMLTags(bold[0].Render()); 
     string team2 = Scraper.RemoveHTMLTags(bold[1].Render()); 
     string team1Percent = Scraper.RemoveHTMLTags(italic[0].Render()); 
     string team2Percent = Scraper.RemoveHTMLTags(italic[1].Render());   

     if(Scraper.FindWinner(team1)) 
     { 
      Console.WriteLine("-- Winner --"); 
      Console.WriteLine(team1 + " - " + team1Percent); 
      Console.WriteLine("-- Loser --"); 
      Console.WriteLine(team2 + " - " + team2Percent);    
     } 
     else 
     {        
      Console.WriteLine("-- Winner --"); 
      Console.WriteLine(team2 + " - " + team1Percent); 
      Console.WriteLine("-- Loser --"); 
      Console.WriteLine(team1 + " - " + team2Percent); 
     }  
    } 
} 

注:安裝CSQuery作爲NuGet包

+0

哇,謝謝你的詳細解答,當我有機會繼續這個工作時,我會測試一下。非常感謝你,如果它正在努力,我會將它標記爲答案。此外,我從來沒有做過網絡刮,所以這將是第一個xD – Cleaven

+0

無後顧之憂。我相信這是你正在努力的方向。這只是關於網絡刮板的選項。 CSQuery和Html Agility Pack對於你正在努力完成的任務來說是非常不錯的網頁抓取工具。嘗試擺弄他們兩個(甚至其他人),以獲得它的感覺,以更好地理解你的偏好。 –

0

Beautiful Soup被刮數據從網頁製成。它是用Python編寫的,所以學習起來也很容易。

從他們的網站:

美麗的湯提供瀏覽,搜索和修改分析樹幾個簡單的方法和Python的成語:用於解剖的文檔和提取你所需要的工具包。它並不需要太多的代碼編寫一個應用程序

這裏有一個很好的演練例如:http://www.crummy.com/software/BeautifulSoup/bs4/doc/

+0

我忘了提,如果有某種類型的API,這將可能是最好的,最簡單的方法獲取數據..尤其是如果網站經常改變html/layout .. – wasatchwizard

+0

Thanx的迴應,我沒有足夠的代表upvote你的答案,但它的東西,我會在一週期間,當我得到一些空閒時間,我找到了一個API我看起來沒有找到一個網站。 – Cleaven