Articles of htmlparsing

用node.jsparsing奇怪的html

我试图parsing一个网站,但HTML是一团糟。 任何人有更多的parsing网站的经验帮助我? <tr> <td><font FACE=Tahoma color='#CC0000' size=2><b>Date</b></font></td> <td><font FACE=Tahoma color='#CC0000' size=2><b>Place</b></font></td> <td><font FACE=Tahoma color='#CC0000' size=2><b>Situation</b></font></td> </tr> <tr><td rowspan=2>16/09/2011 10:11</td><td>New York</td><td><FONT COLOR="000000">Situation Red</font></td></tr> <tr><td colspan=2>Optional comment hello new york</td></tr> <tr><td rowspan=2>16/09/2011 10:08</td><td>Texas</td><td><FONT COLOR="000000">Situation Green</font></td></tr> <tr><td colspan=2>Optional comment hello texas </td></tr> <tr><td rowspan=1>06/09/2011 13:14</td><td>California</td><td><FONT COLOR="000000">Yellow Situation</font></td></tr> </TABLE> 一个奇怪而疯狂的事情是评论不在桌子的头顶也是起点(加州)没有评论。 所以,起点总是会是这样的: date:06/09/2011 13:14 地点:加州 情况:黄色情况 评论:null 所有其他地方都有评论,并将是这样的: date:16/09/2011 10:11 […]

Node.js和Cheerio分析表与select器

我试图parsing一个HTML表,使用Node.js和Cheerio,我得到了一些结果,但不幸的是我得到太多的数据,我不知道如何parsing它进一步得到只有我需要的数据。 这是我到目前为止的一小段代码。 var request = require("request"); var cheerio = require("cheerio"); request('http://www.myURL.com', function(error, response, body) { var $ = cheerio.load(body); $('td').each(function() { console.log($(this).text()); }); }); 使用Chrome插件findselect器,我发现我需要“.clickableRow TD”,但是我试图插入这个插件的每一种方式似乎都不起作用。 为了更清楚一点,HTML源代码看起来像这样 – <html> <body> <form> <table> <tbody> <td> <table class="standardTable"> <tbody> <tr class="clickableRow"> <td>first thing I want</td> <td>second thing I want</td> <td>third thing I want</td> <td>fourth thing I want</td> […]

parsingHTML并保留原始内容

我有很多的HTML文件。 我想replace一些元素,保持所有其他内容不变。 例如,我想执行这个jQueryexpression式(或者它的一些等价物): $('.header .title').text('my new content') 在以下HTML文件上: <div class=header><span class=title>Foo</span></div> <p>1<p>2 <table><tr><td>1</td></tr></table> 并有以下结果: <div class=header><span class=title>my new content</span></div> <p>1<p>2 <table><tr><td>1</td></tr></table> 问题是,我尝试过的所有parsing器( Nokogiri , BeautifulSoup , html5lib )将其序列化为如下所示: <html> <head></head> <body> <div class=header><span class=title>my new content</span></div> <p>1</p><p>2</p> <table><tbody><tr><td>1</td></tr></tbody></table> </body> </html> 例如他们增加: HTML,头部和身体的元素 closuresp标签 TBODY 有一个parsing器可以满足我的需求吗? 它应该在Node.js,Ruby或Python中工作。

如何使用Node.jsparsingHTML页面

我需要parsing(服务器端)大量的HTML页面。 我们都同意,正则expression式不是去这里的路。 在我看来,JavaScript是parsingHTML页面的本地方式,但是这个假设依赖于服务器端代码具有浏览器内部的所有DOM能力。 Node.js是否具有内置的能力? 有没有更好的方法解决这个问题,在服务器端parsingHTML?