{"_id":"htmlparser-query","_rev":"27-39355ed919c91652d46985dcbfc78667","name":"htmlparser-query","description":"a query tool used like jquery, based htmlparser","dist-tags":{"latest":"0.3.0"},"versions":{"0.2.4":{"name":"htmlparser-query","description":"a query tool used like jquery, based htmlparser","version":"0.2.4","keywords":["html","parser","query"],"author":{"name":"liu xing","email":"lusionx@gmail.com"},"dependencies":{"htmlparser":"1.7.6"},"devDependencies":{"coffee-script":"1.6.3"},"licenses":[{"type":"MIT","url":"http://www.opensource.org/licenses/mit-license.php"}],"engines":{"node":">=0.10.0"},"files":["lib","test","Changes.md","README.md"],"main":"./lib/htmlparser-query.coffee","repository":{"type":"git","url":"git://github.com/lusionx/htmlparser-query.git"},"bugs":{"url":"https://github.com/lusionx/htmlparser-query/issues"},"_id":"htmlparser-query@0.2.4","dist":{"shasum":"c8fb711a1e046192ee13728275738abb63aea877","tarball":"https://registry.npmjs.org/htmlparser-query/-/htmlparser-query-0.2.4.tgz","integrity":"sha512-7CpB8Tp6019bTOLLqAYA5KE/3OrkF66+v9H3WyU0N+/BJbRDW1ruROVed1mHj6znCIpPlE+17RmiZCOzndo60Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD4JzxJMeyKMhGJP9KRVdp8ADqd7pmZMHkZtlX/pA6DgwIhAMSzKlpfAWj5xyPlc47OPP7l0txOSoJRI7oBRy63He19"}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"lusionx","email":"lusionx@gmail.com"},"maintainers":[{"name":"lusionx","email":"lusionx@gmail.com"}],"directories":{}},"0.2.5":{"name":"htmlparser-query","description":"a query tool used like jquery, based htmlparser","version":"0.2.5","author":{"name":"liu xing","email":"lusionx@gmail.com"},"keywords":["html","parser","query"],"homepage":"http://www.xhsh.info","scripts":{},"bugs":{"url":"https://github.com/lusionx/htmlparser-query/issues"},"dependencies":{"htmlparser":"1.7.6"},"devDependencies":{"coffee-script":"1.6.3"},"licenses":[{"type":"MIT","url":"http://www.opensource.org/licenses/mit-license.php"}],"engines":{"node":"*"},"files":["README.md","index.js","index.coffee","LICENSE","lib/*.js","lib/*.coffee","test/*.js","test/*.coffee","test/index.html"],"main":"index","repository":{"type":"git","url":"git://github.com/lusionx/htmlparser-query.git"},"_id":"htmlparser-query@0.2.5","dist":{"shasum":"7248be8439f6bfcbb39c6b4d4a5695a18b89d2a1","tarball":"https://registry.npmjs.org/htmlparser-query/-/htmlparser-query-0.2.5.tgz","integrity":"sha512-5wrvjCc3+6RyabRMlnqGkjH9Zf0iJJat0Fzt2IV2HsF+K4SpM+widImVzeh2RbewFYu1kokuSsGgfXWfUOk4MA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDJBQXZIQDR4WKx8jv+InA5DbvNjbunBy7wic9MycSWzgIhAMeGT+OMJodzQhUWeLAzh+ZCZ5TUn+BfWZRXmVnYAcf+"}]},"_resolved":"htmlparser-query-0.2.5.tgz","_from":"htmlparser-query-0.2.5.tgz","_npmVersion":"1.3.11","_npmUser":{"name":"lusionx","email":"lusionx@gmail.com"},"maintainers":[{"name":"lusionx","email":"lusionx@gmail.com"}]},"0.2.6":{"name":"htmlparser-query","description":"a query tool used like jquery, based htmlparser","version":"0.2.6","author":{"name":"liu xing","email":"lusionx@gmail.com"},"keywords":["html","parser","query"],"homepage":"http://www.xhsh.info","scripts":{},"bugs":{"url":"https://github.com/lusionx/htmlparser-query/issues"},"dependencies":{"htmlparser":"1.7.6"},"devDependencies":{"coffee-script":"1.6.3"},"licenses":[{"type":"MIT","url":"http://www.opensource.org/licenses/mit-license.php"}],"engines":{"node":"*"},"files":["README.md","index.js","index.coffee","LICENSE","lib/*.js","lib/*.coffee","test/*.js","test/*.coffee","test/index.html"],"main":"index","repository":{"type":"git","url":"git://github.com/lusionx/htmlparser-query.git"},"_id":"htmlparser-query@0.2.6","dist":{"shasum":"2b1086ae4e70e2544335fcc2e84e218ad77ac735","tarball":"https://registry.npmjs.org/htmlparser-query/-/htmlparser-query-0.2.6.tgz","integrity":"sha512-sL4w06FIrbecrPbpc3GFRSO2Jaj65hvPKnDCS+a04xB/fDp3IAabZmzVhL8P0+stlU5F8iv8X2miS84ClKxGmg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDdFXSYVZ8sDwn1PmGiKHQZUjJHdV55P+HL94GNT8r9JAiB61l6qTFuKs3QCvwJ/uhnJmSwq3I8nGjHobY4n8z4lMA=="}]},"_resolved":"htmlparser-query-0.2.6.tgz","_from":"htmlparser-query-0.2.6.tgz","_npmVersion":"1.3.11","_npmUser":{"name":"lusionx","email":"lusionx@gmail.com"},"maintainers":[{"name":"lusionx","email":"lusionx@gmail.com"}]},"0.2.7":{"name":"htmlparser-query","description":"a query tool used like jquery, based htmlparser","version":"0.2.7","author":{"name":"liu xing","email":"lusionx@gmail.com"},"keywords":["html","parser","query"],"homepage":"http://www.xhsh.info","scripts":{},"bugs":{"url":"https://github.com/lusionx/htmlparser-query/issues"},"dependencies":{"htmlparser":"1.7.6"},"devDependencies":{"coffee-script":"1.6.3"},"licenses":"MIT","engines":{"node":">=0.8.0"},"files":["README.md","index.js","index.coffee","LICENSE","lib/*.js","lib/*.coffee","test/*.js","test/*.coffee","test/*.html"],"main":"index","repository":{"type":"git","url":"git://github.com/lusionx/htmlparser-query.git"},"_id":"htmlparser-query@0.2.7","dist":{"shasum":"fdac8ee9b43b9476743e627a7b1975388947179a","tarball":"https://registry.npmjs.org/htmlparser-query/-/htmlparser-query-0.2.7.tgz","integrity":"sha512-tH/uA/ylwvpTRysPClHmEW2HjVTSxgQ4T4x0K0rdII2SPJHiXGDFVBD0jogGboP9Fw2izH0u3wkp7iESiROb7g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCEaDev5sfs5xcmfxUWrUq6/cyxznThJYbkwfluogy41wIgBr0sdAA2LXxgvKvA24ibyj5kurAyx0xF1M1i5iv3lSU="}]},"_resolved":"htmlparser-query-0.2.7.tgz","_from":"htmlparser-query-0.2.7.tgz","_npmVersion":"1.3.11","_npmUser":{"name":"lusionx","email":"lusionx@gmail.com"},"maintainers":[{"name":"lusionx","email":"lusionx@gmail.com"}]},"0.3.0":{"name":"htmlparser-query","description":"a query tool used like jquery, based htmlparser","version":"0.3.0","author":{"name":"liu xing","email":"lusionx@gmail.com"},"keywords":["html","parser","query"],"homepage":"http://www.xhsh.info","scripts":{},"dependencies":{"async":"~0.2.10","htmlparser":"~1.7.7","underscore":"~1.6.0"},"devDependencies":{},"licenses":"MIT","engines":{"node":"~0.10.10"},"files":["README.md","index.js","LICENSE","lib/*.js","test/*.js","test/*.html"],"main":"index","repository":{"type":"git","url":"git://github.com/lusionx/htmlparser-query.git"},"bugs":{"url":"https://github.com/lusionx/htmlparser-query/issues"},"_id":"htmlparser-query@0.3.0","dist":{"shasum":"13b15e9781db1f4552968411bb18ba3b1b8bf8ea","tarball":"https://registry.npmjs.org/htmlparser-query/-/htmlparser-query-0.3.0.tgz","integrity":"sha512-b+QgVlOLdRt+gFQ9rBAScZsWKXDWTcAwsqeacOmraAFOPytN646EXJzIfRmLHDamFOrwuq7+M/hcdN+gdi87MQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC7dpOh1ufzz/D3sagUwn+BWDiZVT6fulrSXqmpDTIGeAIgcmfY5Ym2F9HDp3dlvQrymxGyjVpfxWAXESYk9yi1J/A="}]},"_resolved":"htmlparser-query-0.3.0.tgz","_from":"htmlparser-query-0.3.0.tgz","_npmVersion":"1.3.11","_npmUser":{"name":"lusionx","email":"lusionx@gmail.com"},"maintainers":[{"name":"lusionx","email":"lusionx@gmail.com"}]}},"readme":"htmlparser-query\r\n================\r\nlang: [us-en](https://github.com/lusionx/htmlparser-query/blob/master/README.en.md)\r\n\r\n由于[jquery](https://npmjs.org/package/jquery)在node@windows上无法运行, 编写此工具完成简单查询. 查询方法尽力向jquery靠拢.\r\n\r\n## 安装\r\n> npm install htmlparser-query\r\n\r\n## 用法\r\n\r\n```js\r\nvar x = require('htmlparser-query').init('string or Buffer');\r\nx.find('...');\r\n```\r\n\r\n### 查询方法\r\n- 支持的基本查询 `#id div .class [a] [a=b] [a!=b] [a^=b] [a$=b] [a*=b]`.\r\n- 支持组合查询 `div.class div[aa..] div.cls[att..]`.\r\n- 支持子代查询 比如: `div .bar a[title]`.\r\n- 支持链式查询: `x.find('div').find('li')` 和 `x.find('div li')` 等效\r\n- **_不_**支持查询: `div~li div>li`\r\n- 空格有严格意义, 不要乱加\r\n\r\n### 自定义查询\r\n- 调用`findf(filter)`, 传入过滤方法, 查询`node`属性.\r\n- node结构来自[htmlparser](https://npmjs.org/package/htmlparser).\r\n\r\n```js\r\nnode = {\r\n    raw: 'div class=\"cc\"',\r\n    data: 'div class=\"cc\"',\r\n    type: 'tag', // maybe 'text'\r\n    name: 'div',\r\n    attribs: { class: 'cc', href:'' },\r\n    children: []\r\n};\r\n```\r\n\r\n### 快捷方法\r\n- `elms -> []` 属性: 符合要求的`[node]`\r\n- `size() -> int` 方法: `elms.length`\r\n- `raw() -> []` 方法: `[node.raw]`\r\n- `text() -> string` 方法: 筛选所以文本节点\r\n- `attr(name) -> string` 方法: 取得第一个拥有此属性的节点的属性值\r\n- `attrs(name) -> [string]` 方法: 取得所有拥有此属性的节点的属性值\r\n\r\n### 循环\r\n\r\n```js\r\nvar a = require('htmlparser-query').load('string or Buffer')\r\nvar xq = a.find('ul.border li a[title]')\r\n_.each(xq.elms, function(e){\r\n    console.log($(e).attr('title'));\r\n});\r\n```\r\n","maintainers":[{"name":"lusionx","email":"lusionx@gmail.com"}],"time":{"modified":"2022-06-18T22:06:43.633Z","created":"2013-12-05T03:21:35.425Z","0.2.4":"2013-12-05T03:21:39.840Z","0.2.5":"2013-12-06T03:43:03.430Z","0.2.6":"2013-12-06T05:29:17.110Z","0.2.7":"2013-12-13T09:12:16.035Z","0.3.0":"2014-04-01T15:10:03.256Z"},"author":{"name":"liu xing","email":"lusionx@gmail.com"},"repository":{"type":"git","url":"git://github.com/lusionx/htmlparser-query.git"},"homepage":"http://www.xhsh.info","keywords":["html","parser","query"],"bugs":{"url":"https://github.com/lusionx/htmlparser-query/issues"},"readmeFilename":"README.md"}