Skip to content

Instantly share code, notes, and snippets.

@martinferreira
Created May 6, 2019 11:20
Show Gist options
  • Save martinferreira/9af04b76f34fcb854757fb1590e84540 to your computer and use it in GitHub Desktop.
Save martinferreira/9af04b76f34fcb854757fb1590e84540 to your computer and use it in GitHub Desktop.
facebookscraper
<!DOCTYPE html>
<html>
<head>
<?php
##$curl = curl_init();
##$timeout = 30;
##$ret = "";
##$url="http://localhost:82/put_val?val=".$_GET["val"];
##curl_setopt ($curl, CURLOPT_URL, $url);
##curl_setopt ($curl, CURLOPT_FOLLOWLOCATION, 1);
##curl_setopt ($curl, CURLOPT_MAXREDIRS, 20);
##curl_setopt ($curl, CURLOPT_RETURNTRANSFER, 1);
##curl_setopt ($curl, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.0.5) Gecko/2008120122 Firefox/3.0.5");
##curl_setopt ($curl, CURLOPT_CONNECTTIMEOUT, $timeout);
##$text = curl_exec($curl);
##echo $text;
?>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.0/jquery.min.js"></script>
<script>
function createTableColumn(text){
tr = document.createElement('td');
node = document.createTextNode(text);
tr.appendChild(node);
return tr;
}
$(document).ready(function(){
var client = new XMLHttpRequest();
if ("withCredentials" in client){
} else if (typeof XDomainRequest != "undefined"){
client = new XDomainRequest();
}
client.open('GET', 'http://anyorigin.com/get?https://mobile.facebook.com/messages/', true);
client.onreadystatechange = function() {
var parser = new DOMParser();
var doc = parser.parseFromString(client.responseText, "text/html");
var messages = doc.getElementsByClassName("v bw bx");
$("#test").append(client.responseText);
for (var i = 0; i < messages.length; i++){
div = document.createElement('tr');
link = messages[i].getElementsByClassName("by bc bz")[0].getElementsByTagName("a")[0].getAttribute("href");
sender = messages[i].getElementsByClassName("by bc bz")[0].getElementsByTagName("a")[0].innerHTML ;
content = messages[i].getElementsByClassName("cc cd cb")[0].innerHTML;
timestamp = messages[i].getElementsByClassName("ce cf")[0].innerHTML;
div.append(createTableColumn(sender)); //sender
div.append(createTableColumn(link)); //link
div.append(createTableColumn(content));//content
div.append(createTableColumn(timestamp));//timestamp
$("#test").append(div);
}
}
client.send();
});
</script>
</head>
<body>
<table id="test"></table>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment