Tag: html parsing

使用请求包在nodejs中查找和分析html的最佳方法

在我的实验中,我注意到,我无法使用htmlparser或htmlparser2软件包parsing从request.get收到的文本。 与https.request相比,返回的string是不一样的,线条明智的。 我正在掠夺一个人类可读的页面,http.request处理程序能够聚合数据以匹配服务器响应的输出。 但与request.get我收到一个没有换行符的回应。 因此,我只能假设我没有使用不受requestjs支持的parsing包,并且导致问题: 实际parsing从reqeust.get和requst.post调用收到的HTML的最好方法是什么? 谢谢。

如何删除htmlparse的一部分?

我做了一个网页的htmlparse,我得到了这个块的页面的DOM: { raw: 'td', data: 'td', type: 'tag', name: 'td', children: [ { raw: '600', data: '600', type: 'text' } ] }, 我怎样才能删除该htmlparse的所有types的“文本”? 谢谢。

使用JavaScript从本地文件读取和修改HTML

我想不出一个优雅的解决scheme。 但是,处理一个HTML文件,修改它并在命令行中使用脚本将其保存回来的最好方法是什么呢? 我希望基本上运行这个脚本,certificateHTML文件是一个参数,在每个<div>元素中添加一个data-test=<randomID> ,并将其保存回文件中。 我在想我可以编写一个JavaScript脚本来执行node但不知道如何获取提供的文件的内容,或者如何存储内容。 感谢任何指针。

Parsehubselect节点语法

我试图使用parsehub从网站提取数据。 使用select工具,我能够隔离每个部分的标题标题,但我无法使用alt-click取消select第二个标题行的第一个单元格。 select节点标准改变,但实际select不改变。 有问题的HTML块 <tr> <td width="100%" align="center"> <table width="493"> <tr><td></td></tr> <tr><td colspan="3">&nbsp;</td></tr> <tr bgcolor="#99cc00" height="17"> <th height="17" colspan="3" title="Scratcher Name"><div align="center" class="txt_white_bold">LUCKY 7`S #348</div></th> </tr> <tr bgcolor="#99cc00" height="17"> <th height="17"><div align="center" class="txt_white_bold">Prize Amount</div></th> <th align="right"><div align="center" class="txt_white_bold">Prizes Remaining</div></th> <th align="right"><div align="center" class="txt_white_bold">Total Prizes</div></th> </tr> select节点代码如下select1 { "op": "select", "tag": "TR", "allDescendants": true, "flags": [ […]

Meteor包中的HTTP请求?

我试图拉元信息forms的一些网页使用httpmeteor包,拉这个信息。 如何使用HTTPmeteor包在网页中检索meta关键字和描述?

如何使用这些Node模块通过文件或URL接受HTML,然后输出JSON作为现有HTML元素的validation?

本质上,我需要做的是采取本地grader.js文件,然后在命令行中使用它inputHTML,然后将输出JSON数据到控制台validation多个HTML元素的存在。 用法看起来像这样: ./grader.js –checks checks.json –file index.html ./grader.js –checks checks.json –url http://google.com 正在使用的Node模块是Commander(用于在命令行中工作),Cheerio(用于HTML)和Restler(用于从URL获取HTML)。 checks.json文件非常简单,只需要检查是否存在一些简单的HTML元素,以确定它们是否存在于页面上: ["h1", ".navigation", ".logo", ".blank", ".about", ".heading", ".subheading", ".pitch", ".video", ".thermometer", ".order", ".social", ".section1", ".section2", ".faq", ".footer"] grader.js文件是事情变得更复杂的地方。 下面的代码实际上起作用,因为它需要命令行参数,并且确实是否存在HTML元素的真值或假值。 但在底部添加URL检查后,它不能正常工作。 我的checkURL函数有问题,而且我使用底部的Commander代码来实现它。 即使真假值依赖于我使用的HTML文件/ URL是正确的,但我最终还是将两个检查都吐出到控制台上,即使我只想检查文件或URL,而不是两者。 我相当新,所以我很惊讶,它可以工作。 这可能与默认值有关,但是当我尝试进行这些更改时,checkURL函数似乎分解了。 在此先感谢您的帮助,我真的很感激。 #!/usr/bin/env node var fs = require('fs'); var program = require('commander'); var cheerio = require('cheerio'); var rest […]

E4X与NodeJS

有什么办法让E4X(ECMAScript)与NodeJS一起使用? 这将有助于输出光滑的HTML / XML没有麻烦/噪音。 它使用SpiderMonkey工作正常,因为它是本地实现的,但它似乎不能与NodeJS一起工作。 使用节点 $node > var name = "World"; > var p = <p>Hello {name}</p>; … 使用spidermonkey $js js> var name = "World"; js> var p = <p>Hello {name}</p>; Hello World js> 提前致谢