Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
50 changes: 50 additions & 0 deletions collection/sites/facebook.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
name: Facebook
homepage: https://www.facebook.com/
tags: social
host:
- facebook.com
- fb.watch
example:
- https://www.facebook.com/MetaforDevelopers/posts/451016937058647
- https://www.facebook.com/watch/?v=224353158889229
- https://fb.watch/3zYsXdnxjf/
- https://www.facebook.com/reel/873906321076441
extract:
- "@facebook.com/.*?(?:fbid=|/permalink/|\\?v=)(?'id'\\d+)@"
- "@facebook.com/(?'user'[.\\w]+)/(?'type'[pv])(?:ost|ideo)s?/(?:[-%.\\w]+/)?(?'id'\\d+)\\b@"
- "@facebook.com/video/(?=post|video)(?'type'[pv])@"
- "@facebook.com/events/(?'id'\\d+)\\b(?!/permalink)@"
- "@facebook.com/watch/?(?'type'[pv])=@"
- "@facebook.com/groups/[^/]*/(?'type'p)osts/(?'id'\\d+)@"
- "@facebook.com/(?'user'[.\\w]+)/posts/pfbid(?'pfbid'\\w+)@"
- "@facebook.com/permalink.php?story_fbid=(?:(?'id'\\d+)|pfbid(?'pfbid'\\w+))&id=(?'page_id'\\d+)@"
- "@facebook.com/(?'type'r)eel/(?'id'\\d+)@"
scrape:
- extract: "@facebook.com/(?'user'[.\\w]+)/(?'type'[pv])\\w+/(?'id'\\d+)(?!\\w)@"
header: "User-agent: PHP (not Mozilla)"
match: "@facebook.com/[.\\w]+/posts/pfbid@"
url: https://www.facebook.com/plugins/post.php?href=https%3A%2F%2Fwww.facebook.com%2F{@user}%2Fposts%2Fpfbid{@pfbid}
- extract: "@story_fbid=(?'id'\\d+)@"
header: "User-agent: PHP (not Mozilla)"
match: "@facebook.com/permalink.php?story_fbid=pfbid(?'pfbid'\\w+)&id=(?'page_id'\\d+)@"
url: https://www.facebook.com/plugins/post.php?href=https%3A%2F%2Fwww.facebook.com%2Fpermalink.php%3Fstory_fbid%3Dpfbid{@pfbid}%26id%3D{@page_id}
- extract:
- "@facebook.com/watch/?(?'type'v)=(?'id'\\d+)@"
- "@facebook.com/(?'user'[.\\w]+)/(?'type'v)ideos/(?'id'\\d+)@"
header: "User-agent: PHP (not Mozilla)"
match: "@fb.watch/.@"
- extract:
- "@facebook.com/\\w+/(?'user'[.\\w]+)/permalink/(?'id'\\d+)(?!\\w)@"
- "@og:url[^>]+facebook.com/(?'user'[.\\w]+)/(?'type'[pv])(?:ost|ideo)s?/(?:[-\\w%]+/)?(?'id'\\d+)\\b@"
header: "User-agent: PHP (not Mozilla)"
match: "@facebook.com/share/[pv]/\\w@"
iframe:
data-s9e-livepreview-ignore-attrs: style
onload: let c=new MessageChannel;c.port1.onmessage=e=>this.style.height=e.data+'px';this.contentWindow.postMessage('s9e:init','*',[c.port2])
src: https://s9e.github.io/iframe/2/facebook.min.html#<xsl:choose><xsl:when test="@user"><xsl:value-of select="@user"/>/<xsl:choose><xsl:when test="@type='r'or@type='v'">video</xsl:when><xsl:otherwise>post</xsl:otherwise></xsl:choose>s/<xsl:choose><xsl:when test="@id"><xsl:value-of select="@id"/></xsl:when><xsl:otherwise>pfbid<xsl:value-of select="@pfbid"/></xsl:otherwise></xsl:choose></xsl:when><xsl:when test="@id"><xsl:value-of select="@type"/><xsl:value-of select="@id"/></xsl:when><xsl:otherwise>pfbid<xsl:value-of select="@pfbid"/></xsl:otherwise></xsl:choose>
amp:
custom-element: "amp-facebook"
src: "https://cdn.ampproject.org/v0/amp-facebook-0.1.js"
template: <amp-facebook layout="responsive" width="640" height="360"><xsl:if test="starts-with(@type,'v')"><xsl:attribute name="data-embed-as">video</xsl:attribute></xsl:if><xsl:attribute name="data-href">https://www.facebook.com/<xsl:choose><xsl:when test="@user"><xsl:value-of select="@user"/></xsl:when><xsl:otherwise>user</xsl:otherwise></xsl:choose>/<xsl:choose><xsl:when test="starts-with(@type,'v')">video</xsl:when><xsl:otherwise>post</xsl:otherwise></xsl:choose>s/<xsl:value-of select="@id"/></xsl:attribute></amp-facebook>
attributes: []
tracking_policy: https://www.facebook.com/help/1896641480634370