从html页面创建csv

时间:2011-07-06 20:58:56

标签: parsing html-parsing

有一个网站在html表格中显示大量数据。他们对数据进行了分页,因此大约有500页。

在Windows上获取数据并将其下载为CSV的最常用(简单)方法是什么?

基本上我需要编写一个类似这样的脚本但是过于用C#写入并且我正在寻找具有Web经验的人使用的其他解决方案:

for(i=1 to 500)
   load page from http://x/page_i.html;
   parse the source and get the data in table with id='data'
   save results in csv

谢谢!

2 个答案:

答案 0 :(得分:0)

我正在做一次屏幕抓取应用,发现BeautifulSoup非常有用。您可以轻松地将其转换为Python脚本,并使用您正在查找的特定ID解析所有标记。

答案 1 :(得分:0)

我能想到的最简单的非C#方式是使用Wget下载页面,然后运行HTMLTidy将其转换为XML / XHTML,然后将生成的XML转换为CSV格式XSLT(使用MSXSL.exe运行)

您必须编写一些简单的批处理文件和一个带有基本XPath选择器的XSLT。

如果您认为在C#中执行此操作会更容易,则可以使用SgmlReader来读取HTML DOM并执行XPath查询以提取数据。它不应该超过大约20行代码。