- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我是网络爬虫新手,我需要一些关于这两个 Node JS 爬虫的指导。
目标:我的目标是抓取网站并仅获取该域内的内部(本地)URL。我对任何页面数据或抓取不感兴趣。只是 URL。
我的困惑:使用 node-crawler 时或simplecrawler ,他们是否必须在返回响应之前下载整个页面?有没有办法只找到一个 URL,ping 可能会执行一些获取请求,如果收到 200 响应,则只需继续下一个链接,而无需实际请求整个页面数据?
是否还有其他 NodeJS 爬虫或蜘蛛可以仅请求和记录 URL?我关心的是使爬行尽可能轻量。
提前谢谢您。
最佳答案
仅抓取网站的 HTML 页面通常是一个非常轻量级的过程。还需要下载 HTML 主体的响应主体才能抓取网站,因为会在 HTML 中搜索其他 URL。
simplecrawler 是可配置的,这样您就可以避免从网站下载图像等。下面是一个代码片段,您可以使用它来记录抓取工具访问的 URL,并避免下载图像资源。
var Crawler = require("simplecrawler");
var moment = require("moment");
var cheerio = require("cheerio");
var crawler = new Crawler("http://example.com");
function log() {
var time = moment().format("HH:mm:ss");
var args = Array.from(arguments);
args.unshift(time);
console.log.apply(console, args);
}
crawler.downloadUnsupported = false;
crawler.decodeResponses = true;
crawler.addFetchCondition(function(queueItem) {
return !queueItem.path.match(/\.(zip|jpe?g|png|mp4|gif)$/i);
});
crawler.on("crawlstart", function() {
log("crawlstart");
});
crawler.on("fetchcomplete", function(queueItem, responseBuffer) {
log("fetchcomplete", queueItem.url);
});
crawler.on("fetch404", function(queueItem, response) {
log("fetch404", queueItem.url, response.statusCode);
});
crawler.on("fetcherror", function(queueItem, response) {
log("fetcherror", queueItem.url, response.statusCode);
});
crawler.on("complete", function() {
log("complete");
});
crawler.start();
关于node.js - NodeJS 使用 node-crawler 或 simplecrawler 进行 Web 爬行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50218402/
再会! 我有一个 ActiveX 按钮(根据从顶部开始的行数锚定在位置上),它运行 VBA 代码以在特定点插入指定数量的复制行。代码本身工作正常,但按钮“克隆”自身并将自身覆盖在新行的位置,即使我设置
我正在尝试在 Ubuntu 14.04 上部署 Nutch 2.3 + ElasticSearch 1.4 + HBase 0.94 以下 tutorial .当我尝试开始爬行注入(inject)网址
我正在尝试爬行某个驱动器并从埋藏在子目录中的某些 .xls 文件中获取数据。该驱动器超过 1 TB,并且文件夹并不都具有相同的层次结构,因此我正在遍历所有文件夹。到目前为止,该脚本运行良好。 问题是,
首先,我希望抓取是从桌面 .exe 向网站发送请求并获取数据的正确词。如果是,我应该使用什么库或插件?我是否应该使用另一种语言来执行此操作(如 Java 或其他语言?)。我需要一些“提示”,因为我真的
这是我的代码: def parse(self, response): selector = Selector(response) sites = selector.xpath("//
完整的 Node.js 菜鸟,所以不要评判我...... 我有一个简单的要求。爬取网站,查找所有产品页面,并保存产品页面中的一些数据。 说的更简单,做的更简单。 查看 Node.js 示例,我找不到类
我花了很多时间玩弄和使用谷歌,但我无法解决我的问题。我是 Scrapy 的新手,希望你能帮助我。 部分有效的爬虫:我从 MySQL 数据库中定义我的 start_requests url。使用“par
老方法 当我以前在需要内容被搜索引擎索引的项目中异步加载页面时,我使用了一种非常简单的技术,那就是 Page $('#example').click(function(){
我正在尝试使用 Scrapy 抓取 ajax 站点,网址是 http://www.target.com/p/bounty-select-a-size-white-paper-towels-12-meg
我正在尝试按照 NutchTutorial 运行基本爬网: bin/nutch crawl urls -dir crawl -depth 3 -topN 5 所以我已经安装了 Nutch,并使用 So
很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visit the help center . 关闭 1
我做了一个抓取脚本,通过爬行逐一抓取任何网站(要输入的url)的内部页面,获取其他内部url并处理它们以获取所有页面并提取其纯文本(剥离的html)。请参阅my previous回答。该脚本运行良好,
无论如何,驱动程序是否可以记住登录 session ,所以它不会带我回到登录页面(例如google-chrome)? 这就是我现在正在做的事情 public static void main(Stri
我是网络爬虫新手,我需要一些关于这两个 Node JS 爬虫的指导。 目标:我的目标是抓取网站并仅获取该域内的内部(本地)URL。我对任何页面数据或抓取不感兴趣。只是 URL。 我的困惑:使用 nod
我是一名优秀的程序员,十分优秀!