2013-05-28 81 views
0

我想制作一个新的投注工具,但我需要一个数据库的赔率和结果,并且无法在网上找到任何东西。我发现这个网站有很好的存档:OddsPortalscrapy的数据刮取

我想要做的就是从上面的页面刮取结果和赔率。我发现一种名为Scrapy的工具可以做到这一点,这是真的吗?有人可以帮我提一些提示吗?

+1

除了可能存在的版权问题,您可能无法在此处获得有用的答案。本网站重点讨论特定的编程问题:“我试过'这个',并因此得到''结果”。它不适用于像你这样的开放式问题。 – CPerkins

+0

ty为答案,我在哪里可以要求这个? – abaini01

+0

在这种情况下,奥斯汀似乎给了你一个“非常好”的答案。请记住'接受'它。在一般情况下,我不确定 - 我可能刚刚下载了Scrapy并开始尝试,我自己。如果我遇到麻烦,我会来到这里或Scrapy论坛。 – CPerkins

回答

8

我不知道Scrapy,但JSoup应该帮助你开始。

http://jsoup.org/

下载.jar文件。右键单击您的项目文件夹>属性> Java构建路径>库>添加外部jar>找到jar并单击它。

这是一个很不错的HTML解析器

下面是一个例子。

import org.jsoup.Jsoup; 
import org.jsoup.nodes.Document; 

public class HtmlParser { 

public static void main(String[] args) throws IOException{ 
    String url = "http://stackoverflow.com/questions/16794913/data-scraping-with-scrapy"; 
    Document document = Jsoup.connect(url).get(); 

    String question = document.select(".question .postcell").text(); 

    System.out.println(question); 
} 

这将打印您的问题:P

右键点击此网页,并且命中检查元素。

然后找到你想要的元素,并把它的类(或ID)的名称放在document.select()部分中,在这种情况下是“.question .postcell”。 (.parentClass .childClass)

如果你需要额外的帮助还有就是jsoup网站上的导向

希望这有助于!

编辑:

我是板,所以我扔在一起,一点点的东西,获取所有意大利足球的分数,在2003-2004年,享受:d - 链接 - http://www.oddsportal.com/soccer/italy/serie-a-2003-2004/results/

public class HtmlParser { 

    String url = "http://www.oddsportal.com/soccer/italy/serie-a-2003-2004/results/"; 
    Document document = Jsoup.connect(url).get(); 

    Elements stats = document.select("#tournamentTable tbody tr"); 

    for(int i = 0; i < stats.size(); i++){ 
     System.out.println(stats.get(i).text()); 
    } 
} 

Output: 

Soccer» Italy»Serie A 2003/2004 

1 X 2 B's 


AC Milan - Brescia 4:2 - - - 6 

Chievo - Bologna 2:1 - - - 5 

Empoli - Inter 2:3 - - - 5 

Parma - Udinese 4:3 - - - 5 

Lazio - Modena 2:1 - - - 4 

Lecce - Reggina 2:1 - - - 5 

Perugia - Ancona 1:0 - - - 1 

Sampdoria - AS Roma 0:0 - - - 4 

Siena - Juventus 1:3 - - - 5 

1 X 2 B's 



Ancona - Empoli 2:1 - - - 1 

AS Roma - Perugia 1:3 - - - 3 

Bologna - Lecce 1:1 - - - 7 

Brescia - Lazio 2:1 - - - 1 

Inter - Parma 1:0 - - - 7 

Juventus - Sampdoria 2:0 - - - 7 

Modena - Siena 1:3 - - - 7 

Reggina - AC Milan 2:1 - - - 1 

Udinese - Chievo 1:1 - - - 3 

1 X 2 B's 



AC Milan - AS Roma 1:0 - - - 6 

Parma - Ancona 3:1 - - - 3 

Lazio - Reggina 1:1 - - - 6 

Lecce - Inter 2:1 - - - 6 

Perugia - Juventus 1:0 - - - 4 

Sampdoria - Udinese 1:3 - - - 5 

Siena - Brescia 0:1 - - - 3 

1 X 2 B's 



Ancona - Chievo 0:2 - - - 3 

AS Roma - Empoli 3:0 - - - 6 

Inter - Lazio 0:0 - - - 6 

Juventus - Lecce 3:4 - - - 6 

Modena - Sampdoria 1:0 - - - 5 

Reggina - Parma 1:1 - - - 5 

Udinese - AC Milan 0:0 - - - 6 

1 X 2 B's 



Lazio - AS Roma 1:1 - - - 7 

1 X 2 B's 



Modena - AS Roma 0:1 - - - 6 

Chievo - Reggina 0:0 - - - 4 

Empoli - Brescia 1:1 - - - 5 

Parma - Juventus 2:2 - - - 6 

Inter - Bologna 4:2 - - - 6 

Lazio - Ancona 4:2 - - - 5 

Sampdoria - Perugia 3:2 - - - 6 

1 X 2 B's 



Lecce - Udinese 2:1 - - - 6 

Siena - AC Milan 1:2 - - - 5 

1 X 2 B's 



Perugia - Inter 2:3 - - - 7 

1 X 2 B's 



Juventus - Lazio 1:0 - - - 7 

AC Milan - Empoli 1:0 - - - 7 

Ancona - Bologna 3:2 - - - 7 

AS Roma - Chievo 3:1 - - - 7 

Brescia - Modena 0:0 - - - 7 

Reggina - Udinese 0:1 - - - 7 



Siena - Sampdoria 0:0 - - - 7 

很爽!

+0

非常感谢!我拥有你一杯啤酒! ;) – abaini01

+0

@奥斯汀优秀的答案。社区决定结束这个问题太糟糕了。 – CPerkins