FB는 HTML에서 메타 태그를 긁습니다.
e.e. URL을 입력하면 FB에서 페이지 제목과 URL (잘 렸음)을 차례로 표시 한 다음 < 메타 이름 = "설명"> 요소의 내용을 표시합니다.
축소판의 선택에 관해서는, 나는 아마 FB는 버튼 그래픽, 1 개 픽셀의 스페이서 등을 스킵 특정 크기를 초과하는 사람들, 즉 선택 생각
편집 : 나는 정확히하는지 모르겠 찾고 있지만, 여기에 페이지에서 관련 데이터를 긁어 모으기위한 PHP의 함수가 있습니다.
이것은 http://simplehtmldom.sourceforge.net/ 내가 FB 그것을 수행 방법에 대해 살펴 했어
에서 간단한 HTML DOM 라이브러리를 사용하고, 스크래핑 서버 측에서 수행되는 것 같습니다.
class ScrapedInfo
{
public $url;
public $title;
public $description;
public $imageUrls;
}
function scrapeUrl($url)
{
$info = new ScrapedInfo();
$info->url = $url;
$html = file_get_html($info->url);
//Grab the page title
$info->title = trim($html->find('title', 0)->plaintext);
//Grab the page description
foreach($html->find('meta') as $meta)
if ($meta->name == "description")
$info->description = trim($meta->content);
//Grab the image URLs
$imgArr = array();
foreach($html->find('img') as $element)
{
$rawUrl = $element->src;
//Turn any relative Urls into absolutes
if (substr($rawUrl,0,4)!="http")
$imgArr[] = $url.$rawUrl;
else
$imgArr[] = $rawUrl;
}
$info->imageUrls = $imgArr;
return $info;
}
심각하게 ...? 아무도? ;) – Tobias
이와 같은 모든 작업은 사용자가 긁어 모으는 각 사이트에 대해 맞춤 작성 도구가 필요합니다. 'RegEx'를 피하고 대신'DOM'을 사용하십시오. 실제 웹 페이지를 긁기 전에 사이트에서 원시 데이터 피드를 찾으십시오. 원시 데이터를 찾을 수 없으면 서버에 저장된 정적 파일로 테스트하는 것이 좋습니다. – drudge
그렇게 생각하지 않습니다. 나는 이미 fb 스크레이퍼와 동일한 출력을 생성하는 aworking 프로토 타입을 가지고있다. 단지 문제는 scalibilty이다 ... – Tobias