如何解决如何使用node.js和javascript模仿Facebook的“链接共享”功能
|| 所以我想模仿的是Facebook提供的链接共享功能。您只需输入URL,然后FB自动从目标网站获取图像,标题和简短描述。如何用node.js和其他可能需要的javascript在javascript中对此程序进行编程?我找到了一个使用PHP的fopen函数的示例,但我宁愿不将PHP包含在该项目中。 我要问的是网络抓取示例吗?我需要做的就是从目标网站的Meta标签内部检索数据,然后再使用CSS选择器获取图像标签吗? 如果有人可以指出正确的方向,那将不胜感激。谢谢!解决方法
看这个帖子。它讨论了如何使用node.js进行抓取。
这里您有很多关于使用javascript和jquery进行抓取的先前信息。
就是说,Facebook实际上并没有猜测标题,描述和预览是什么,它们(至少在大多数情况下)是从网站中存在的元标记中获取该信息的,这些元标记希望让fb用户更易于访问。
也许您可以利用现有的元数据提取标题,描述和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
将带有标题,或者fails2ѭ将带有标题。替代方法可能只是获取页面的title
标签。 :)
至于图像。列出该页面上相当大的所有或前几个图像,例如,以滤除用于按钮,箭头等的图片。
在获取远程数据时,请确保“ 4”标志已关闭。这样可以确保广告的脚本代码不会污染获取的页面。
是的,相关文本将在h
之后的某些标记中。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。