ASP.NET:如何从表html源中提取特定值?

时间:2012-03-26 14:30:19

标签: c# asp.net

我想在IMDb的Boxoffice表中提取每一行的电影名称..

示例html表格行:

    <tr class="chart_even_row">

  <td style="text-align: right;">
      <b>1</b>
  </td>
  <td>
      <img border="0" src="http://ia.media-imdb.com/images/M/MV5BMjA4NDg3NzYxMF5BMl5BanBnXkFtZTcwNTgyNzkyNw@@._V1._SY30_SX23_.jpg" width="20" height="30">
  </td>
  <td>

<a  href="/title/tt1392170/" >The Hunger Games</a> (2012)
  </td>
  <td style="text-align: right; padding-right: 20px;">$155M
  </td>
  <td style="text-align: right;">
$155M
  </td>
  <td style="text-align: center;">
1
  </td>

</tr>

我想提取的价值是“饥饿游戏”..

我需要一个C#代码来实现这一目标..

注意:我想通过REGEX

这样做

提前致谢, 拉沙德。

2 个答案:

答案 0 :(得分:1)

屏幕抓取IMDB是复杂,脆弱和禁止的。 IMDB提供纯文本数据文件,您可以在http://www.imdb.com/interfaces

使用

更新

请允许我重申:屏幕抓取和数据挖掘IMDB.com违反了他们的使用条款。

关于正则表达式:see this answer

因此,如果您违反IMDB的使用条款而无法做到这一点,那么HTML Agility Pack可能是最好的方法。

答案 1 :(得分:0)

尝试将代码粘贴到单个html文件中。如果要获取的页面太多,请尝试编写将通过html agility pack读取它们的代码。

您可以在http://htmlagilitypack.codeplex.com/

找到html敏捷包