Tag: 网站刮

通过X射线/节点刮黑客新闻

我怎么能通过X射线/ nodejs刮黑客新闻( https://news.ycombinator.com/ )? 我想从中得到这样的东西: [ {title1, comment1}, {title2, comment2}, … {"'Minimal' cell raises stakes in race to harness synthetic life", 48} … {title 30, comment 30} ] 有一个新闻表,但我不知道如何刮…每个网站上的故事由三列组成。 这些没有一个是他们独一无二的父母。 所以结构看起来像这样 <tbody> <tr class="spacer"> //Markup 1 <tr class="athing"> //Headline 1 ('.deadmark+ a' contains title) <tr class> //Meta Information 1 (.age+ a contains comments) <tr class="spacer"> […]

使用X射线和X射线幻像来抓取dynamic页面内容时发生致命错误

我在节点上运行app.js时,在命令行中出现此错误: FATAL ERROR: v8::HandleScope::CreateHandle() Cannot create a handle without a HandleScope Abort trap: 6 这就是app.js的样子: var phantom = require('x-ray-phantom'); var Xray = require('x-ray'); var fs = require('fs'); x = new Xray().driver(phantom());; x('http://www.bbc.co.uk/news', '.most-popular__list panel-read li', [{ content: '' }])(function (err, results) { fs.writeFile('results.json', JSON.stringify(results, null, '\t')); }) 我的package.json { … "dependencies": { "phantomjs": "^1.9.19", "x-ray": […]

如何解决在X射线(NodeJS刮库)响应的编码?

下面的脚本在我的NodeJS服务器上工作的很好,但是当我试图抓取一些西里尔语的网站时,很less返回这样的响应。 脚本 x(url, { name: 'title', ogDescription: 'meta[property="og:description"]@content', metaDescription: 'meta[name="description"]@content', ogImage: 'meta[property="og:image"]@content', twitterImage: 'meta[name="name="twitter:image:src""]@content', metaImage: 'meta[name="image"]@content', headImage: 'head img@src', contentImage_1: '.content img@src', contentImage_2: '.image img@src' }) (function (err, obj) { var firstData = { name: [ obj.name ], description: [ obj.metaDescription, obj.ogDescription, ], image: [ obj.ogImage, obj.twitterImage, obj.metaImage, obj.headImage, obj.contentImage_1, obj.contentImage_2 ] } 不正确编码的响应示例 firstData […]