我遇到了一個挑戰,似乎無法在網絡上的任何地方找到答案。我正在做一個個人項目;它是一個Node.js應用程序,它使用請求和cheerio包命中一個終點並且刮掉一些數據......但是,終端是Facebook頁面......並且其內容的顯示取決於用戶是登錄或不。從Facebook刮臉
總之,應用程序試圖刮掉用戶保存的鏈接,你知道,所有的東西添加到您「保存後」,但實際上從未回(至少在我的情況)。那麼,終點是htpps://www.facebook.com/saved。如果在您的瀏覽器中登錄Facebook,那麼單擊該鏈接將會將您帶到應用程序需要的位置。然而,由於應用程序在技術上並不通過有憑據和會話保存在瀏覽器中去,我運行到一個有點問題......
是,使用請求模塊我能成功地到達Facebook的「一部分」,但不是我需要的那一部分......我的問題確實是:我該如何開始處理這一挑戰?
這是所有的代碼,我對應用至今:
var express = require('express');
var fs = require('fs');
var request = require('request');
var cheerio = require('cheerio');
var app = express();
app.get('/scrape', (req, res) => {
// Workspace
var url = 'https://www.facebook.com/saved';
request(url, (err, response, html) => {
if (err) console.log(err);
res.send(JSON.stringify(html));
})
})
app.listen('8081',() => {
console.log('App listening on port 8081');
})
任何投入,將不勝感激。目前,我保留...! 我怎麼可能用用戶提供的憑證(安全地)來打這個端點,以便應用程序可以合法地通過認證並達到期望的終點?
你爲什麼不使用Facebook API? https://developers.facebook.com/你將永遠無法贏得與Facebook的爭奪,從而刮掉他們的數據。 API是免費的(在合理範圍內)。 – neuromatter
我查看了他們的API,但它不允許我想要完成的功能......它似乎在不久的將來可以在某個時間點使用,但現在已經消失了:\ – JaySeeCode