簡體   English   中英

如何使用node.js和javascript模仿Facebook的“鏈接共享”功能

[英]How to mimic Facebook's “link share” functionality using node.js and javascript

所以我想模仿的是Facebook提供的鏈接共享功能。 您只需輸入URL,然后FB就會自動從目標網站獲取圖像,標題和簡短描述。 如何用node.js和其他可能需要的javascript庫在javascript中對此進行編程? 我找到了一個使用PHP的fopen函數的示例,但我不想在該項目中包括PHP。

我要問的是網絡抓取的示例嗎? 我需要做的就是從目標網站的meta標簽內部檢索數據,然后再使用CSS選擇器獲取圖像標簽嗎?

如果有人可以指出正確的方向,那將不勝感激。 謝謝!

這個帖子。 它討論了如何使用node.js進行抓取。 在這里,您有很多有關使用javascript和jquery進行抓取的先前信息。

就是說,Facebook實際上並沒有猜測標題,描述和預覽是什么,它們(至少在大多數情況下)是從想要讓fb用戶更容易訪問的網站中存在的meta標簽獲取該信息的。

也許您可以利用現有的元數據提取標題,描述和img預覽。 有關可用元數據的文檔在這里

是的,需要進行網絡抓取,這很容易。 困難的部分是用於查找標題以及相關文本和圖像的通用算法。

如何刮

您可以使用jsdom在服務器中下載並創建DOM結構,然后在服務器上使用jquery對其進行抓取。 如上面@generalhenry所建議,您可以在blog.nodejitsu.com/jsdom-jquery-in-5-lines-on-nodejs上找到一個很好的教程。

刮什么

我想找到標題的好方法是:

var h;
for(var i=6; i<=1; i++)
 if(h = $('h'+i).first()){
  break;
 }

現在,如果h失敗,它將具有標題或undefined 替代方法可能只是獲取頁面的title標簽。 :)

至於圖像。 列出該頁面上相當大的所有或前幾個圖像,例如,以濾除用於按鈕,箭頭等的精靈。

在獲取遠程數據時,請確保已關閉ProcessExternalResources標志。 這樣可以確保廣告的腳本代碼不會污染獲取的頁面。

是的,相關文本將在h之后的某些標記中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM