diffbot은 기계 학습을 사용하여 URL을 크롤링하고 시각적으로 데이터를 추출하여 기존 웹 크롤러보다 웹 컨텐츠에 대한보다 신뢰할 수 있고 인간적인 해석을 제공하는 "시각적 학습 로봇"입니다.
DiffBot API는 JavaScript 컨텐츠를 포함한 페이지를 완전히 렌더링하고 텍스트, 이미지, 비디오 및 저자 또는 게시 날짜와 같은 메타 데이터를 포함하여 웹 페이지에서 광범위한 데이터 유형을 추출 할 수 있습니다.
DiffBot의 사용자 정의 API 기능을 통해 사용자는 기존 DiffBot API를 조정하거나 사용자 정의 컨텐츠 처리를 위해 완전히 새로운 기능을 만들 수있어 소스 코드에서 특정 데이터 요소를 추출 할 수 있습니다.
링크를 공유 할 때 소셜 네트워크가 URL 미리보기를 어떻게 잘하는지 궁금한 적이 있습니까? 그들은 어떤 이미지를 잡아야하는지, 누가 저자로 인용 해야하는지 또는 미리보기에 어떤 태그를 첨부 할 것인지 어떻게 알 수 있습니까? 소스 코드에 대한 복잡한 정규식으로 크롤링하고 있습니까? 실제로, 더 자주는 그렇지 않습니다. 소스에 정의 된 메타 정보는 신뢰할 수 없을 수 있으며, 명성이 뛰어난 사이트는 종종 키워드 캐리어로 사용하여 검색 엔진을 더 높은 순위로 정리하려고 시도합니다. 우리, 인간이 어쨌든 중요한 것을 보는 것이 아닌가?
URL 미리보기 스 니펫 또는 뉴스 어 그리 게이터를 구축하려면 독점 및 오픈 소스에서 온라인으로 사용할 수있는 자동 크롤러가 많이 있지만 시각적 기계 학습과 같은 틈새 시장을 거의 찾지 못합니다. 이것이 바로 DiffBot 이신 "시각적 학습 로봇"입니다. "시각적 학습 로봇"은 귀하가 요청한 URL을 전체적으로 렌더링 한 다음 시각적으로 데이터를 추출하여 필요에 따라 페이지 소스에서 일부 메타 데이터를 도와줍니다.
.
일부 이론을 다루고 나면이 게시물에서 우리는 itepoint의 게시물 중 하나에서 데모 API 호출을 할 것입니다.
PHP 라이브러리
DiffBot 용 PHP 라이브러리는 다소 오래되지 않았 으므로이 데모에서는 사용하지 않을 것입니다. 우리는 원시 API 통화를 수행 할 예정이며, 일부 게시물에서는 API 상호 작용을위한 자체 라이브러리를 구축 할 것입니다.
그럼에도 PHP 라이브러리를 살펴 보려면 여기를 참조하십시오. 다른 언어의 라이브러리에 관심이 있으시면 Diffbot은 디렉토리가 있습니다.
2015 년 7 월 업데이트 :이 기사가 게시 된 이후 PHP 라이브러리가 개발되었습니다. 여기에서 전체 개발 프로세스 또는 여기에서 소스 코드를 참조하십시오.
JavaScript 컨텐츠
우리는 소개 섹션에서 Diffbot이 요청을 전체적으로 렌더링 한 다음 분석한다고 말했습니다. 그러나 JavaScript 콘텐츠는 어떻습니까? 오늘날 웹 사이트는 종종 일부 HTML을 접기 위로 렌더링 한 다음 CSS, JS 및 동적 컨텐츠로드를 마무리합니다. diffbot api가 그것을 볼 수 있습니까?
사실, 그렇습니다. DiffBot은 문자 그대로 페이지를 전체적으로 렌더링 한 다음 여기 내 StackOverFlow Q & A에 설명 된대로 시각적으로 검사합니다. 그러나 약간의 경고가 있으므로 답을주의 깊게 읽으십시오.
가격 및 API 건강
diffbot에는 여러 가지 사용법이 있습니다. 7 일 또는 10000 건의 호출 후 API 토큰을 죽이는 무료 평가판 계층이 있습니다. 상업용 토큰은 다양한 가격으로 구매할 수 있으며 만료되지 않지만 제한 사항이 있습니다. 사례별로 접근하는 특별한 접근 방식은 오픈 소스 및/또는 교육 프로젝트에 제공되며, 이는 무료 토큰 - 매월 10k 통화의 오래된 모델을 제공하지만 초당 최대 1 회, 만료되지 않습니다. 자격이 있다고 생각되면 직접 연락해야합니다.
diffbot은 높은 가동 시간을 보장하지만 때로는 고장이 발생합니다. 특히 가장 자원 집약적 인 API에서 Crawlbot에서 발생합니다. CrawlBot은 개별 페이지뿐만 아니라 전체 도메인을 크롤링하는 데 사용되며 다른 API보다 신뢰도가 낮습니다. API 건강 화면에서 눈에 띄게 충분하지는 않지만 API가 문제가 발생하거나 오류 500을 반환하는 경우 API가 UP 및 실행 중인지 또는 현재 사용할 수 없는지 확인할 수 있습니다.
데모
환경을 준비하려면 홈스테드 개선 인스턴스를 부팅하십시오.
프로젝트 생성
vagrant ssh와 함께 VM에 Shing을 통해 스타터 라벨 프로젝트를 만들고, 코드 폴더로 들어가고, 작곡가 작성 프로그램 Laravel/Laravel Laravel-Prefer-dist를 실행합니다. 이렇게하면 호스트 브라우저에서 http://homestead.app:8000을 통해 Laravel Greeting 페이지에 액세스 할 수 있습니다.
경로와 조치를 추가하십시오
App/lours.php의 다음 경로를 추가하십시오
app/컨트롤러/homecontroller의 다음 조치를 추가하십시오
http://homestead.app:8000/diffbot가 이제 화면에서 "Hi"를 출력하면 API로 재생을 시작할 준비가되었습니다.
토큰을 얻으십시오
DiffBot API와 상호 작용하려면 토큰이 필요합니다. 가격 책정 페이지에 하나에 가입하십시오. 이 데모를 위해 Token $ Token에 전화하겠습니다. URL에서이를 참조하겠습니다. 적절한 경우 $ 토큰을 자신의 가치로 교체하십시오
설치 guzzle
우리는 Guzzle을 HTTP 클라이언트로 사용할 것입니다. 필요하지는 않지만 과거의 기사를 통해 익숙해지는 것이 좋습니다.
"guzzlehttp/guzzle": "4.1.*@dev"를 Composer.json에 추가하여 필요한 블록은 다음과 같습니다.
프로젝트 루트에서 작곡가 업데이트를 실행하십시오
기사 데이터
첫 번째 예에서는 diffbot의 기본 기사 API와 함께 itepoint 게시물을 기어 다닙니다. 이를 위해 워크 플로를 설명하는 데 훌륭한 역할을하는 문서를 참조하십시오. diffbotdemo 동작의 본문을 다음 코드로 변경하십시오.
먼저, 우리는 토큰을 설정했습니다. 그런 다음 API 버전을 보유 할 변수를 정의합니다. 다음으로 새로운 Guzzle 클라이언트를 만드는 것은 우리에게 달려 있으며, 기본 URL을 제공하여 다른 요청을 할 때마다 입력 할 필요가 없습니다. 다음으로, 우리는 API의 URL에 GET 요청을 보내서 응답 객체를 만듭니다. key => value 형식의 쿼리 매개 변수 배열을 추가합니다. 이 경우, 우리는 가장 기본적인 매개 변수 인 토큰과 URL에만 전달됩니다.
마지막으로, diffbot API는 JSON 데이터를 반환하기 때문에 Guzzle의 JSON () 메소드를 사용하여 자동으로 배열로 디코딩합니다. 그런 다음이 데이터를 아주 인쇄합니다
보시다시피, 우리는 몇 가지 정보를 빨리 되돌 렸습니다. 사용 된 아이콘, 텍스트 미리보기, 제목, 언어, 날짜 및 HTML도 반환되었습니다. 그러나 저자는 없다는 것을 알 수 있습니다. 이것을 바꾸고 더 많은 값을 요청합시다.
"필드"매개 변수를 쿼리 매개 변수 목록에 추가하고 "태그"의 값을 제공하면 DiffBot은 제공된 URL에서 태그/범주를 추출하려고 시도합니다. 이 줄을 쿼리 어레이에 추가하십시오 :
그런 다음 다이 부분을 이것으로 바꾸십시오 :
이제 화면을 새로 고침하면 이제 우리에게 다음과 같습니다
그러나 기사의 소스 코드는 몇 가지 다른 태그를 나타냅니다.
결과가 왜 그렇게 다른가요? 이 게시물의 첫 번째 단락이 끝날 때 우리가 언급 한 이유는 우리 인간이 보는 것이 우선합니다. Diffbot은 시각적 학습 로봇이며, AI는 SEO 목적을 위해 너무 쉽게 매운 소스 코드를 보지 않고 실제 렌더링 된 컨텐츠 (볼 수있는 것)에서 태그를 공제합니다.
.
그러나 실제로 필요한 경우 소스 코드에서 태그를 얻을 수있는 방법이 있습니까? 또한 Diffbot을 itepoint 기사에서 저자를 인식하게 할 수 있습니까? 예. 맞춤 API와 함께
메타 태그 및 사용자 정의 api 가있는 저자
사용자 정의 API는 새로운 필드 및 컨텐츠 추출 규칙을 추가하여 기존 Diffbot API를 원하는대로 조정할 수있을뿐만 아니라 완전히 새로운 API를 만들 수 있습니다 (전용 URL을 통해 액세스). 사용자 정의 컨텐츠 처리 용
Dev 대시 보드로 이동하여 토큰으로 로그인하십시오. 그런 다음 "Custom API"로 이동하십시오. 하단에서 "규칙 작성"탭을 활성화하고 URL 상자에 크롤링하는 기사의 URL을 입력 한 다음 테스트를 클릭하십시오. 화면이 다음과 같이 보일 것입니다
저자 필드가 비어 있음을 즉시 알 수 있습니다. 옆에 편집을 클릭하고 열리는 라이브 미리보기 창에서 저자 요소를 찾아 저자 검색 규칙을 조정 한 다음 원하는 결과를 얻으려면 클릭하십시오. 그러나 Sitepoint가 끝나는 완벽한 CS보다 적기 때문에 DiffBot의 API에 특히 요소를 클릭하여 저자 이름에 대한 일관된 경로를 제공하는 것은 매우 어렵습니다. 대신 다음 규칙을 수동으로 추가하십시오. .contriblor--large .contributor_name a를 클릭하고 저장을 클릭하십시오.
이제 미리보기 창이 저자 필드를 올바르게 채 웁니다.
실제로이 새로운 규칙은 토큰의 모든 itepoint 링크에 자동으로 적용됩니다. 이와 같이 다른 itepoint 기사를 미리 보려고하면 Peter Nijssen이 성공적으로 추출 된 것을 알 수 있습니다.
좋아, API를 더 수정하겠습니다. 소스 코드에서 볼 수있는 기사가 필요합니다. 이를 수행하려면 2 단계 프로세스가 필요합니다.
1 단계 : 컬렉션을 정의하십시오 > 컬렉션은 정확히 들리는 것입니다 - 특정 규칙 세트를 통해 가져온 값 모음. 우리는 컬렉션을 "메타 태그"라고 부르고 다음 선택기를 제공합니다 : 메타 [속성 = 기사 : tag]. 즉, 값 기사와 함께 속성 속성이있는 HTML에서 모든 메타 요소를 찾으십시오.
2 단계 : 수집 필드를 정의하십시오
컬렉션 필드는 컬렉션의 개별 항목입니다.이 경우 다양한 태그입니다. "이 컬렉션에 사용자 정의 필드 추가"를 클릭하고 다음 값을 추가하십시오.
저장을 클릭합니다. 결과 창에서 즉시 태그 목록에 액세스 할 수 있습니다.
diffbotdemo () 동작의 최종 출력을 이것으로 변경하십시오 :
(http://homestead.app:8000/diffbot)로 테스트 한 URL을 새로 고치면 저자 및 메타 태그 값이 있음을 알 수 있습니다. 위의 코드 라인이 생성하는 출력은 다음과 같습니다
우리는 태그가 있습니다!
결론
diffbot은 웹을위한 강력한 데이터 추출기입니다. 백엔드를 결합하지 않고 많은 사이트를 단일 검색 인덱스로 통합해야하든 뉴스 어 그리 게이터를 구축하려면 URL 미리보기 웹 구성 요소에 대한 아이디어가 있습니다. Diffbot이 도움을 줄 수있는 경쟁 업체의 공개 가격 목록의 내용을 정기적으로 수확하려고합니다. Dead Simple API 호출과 고도로 구조화 된 응답으로 인해 시간이 지나지 않아 실행됩니다. 이후 기사에서는 PHP와 함께 Diffbot을 사용하기위한 새로운 API를 구축하고 위의 통화를 다시 만들 것입니다. 또한 Packagist에서 라이브러리를 호스팅하므로 작곡가로 쉽게 설치할 수 있습니다. 계속 지켜봐주십시오!
diffbot 에 대한 자주 묻는 질문 (FAQS)
diffbot의 주요 기능은 무엇입니까?
diffbot은 머신 러닝 기술을 사용하여 웹 페이지에서 데이터를 추출하고 분석하는 웹 스크래핑 도구입니다. 인간과 같은 방식으로 웹 페이지를 이해하도록 설계되어 데이터 추출을위한 강력한 도구입니다. DiffBot은 소셜 미디어 사이트, 뉴스 기사, 제품 페이지 등의 데이터를 수집하는 데 사용될 수 있습니다. 많은 양의 데이터를 빠르고 정확하게 수집 해야하는 비즈니스에 특히 유용합니다.
Diffbot의 기계 학습 기술은 어떻게 작동합니까?
Diffbot은 기계 학습으로 알려진 인공 지능의 형태를 사용하여 이해합니다. 웹 페이지를 해석합니다. 알고리즘을 사용하여 웹 페이지의 구조와 내용을 분석 한 다음 해당 분석에 따라 관련 데이터를 추출합니다. 이를 통해 DiffBot은 인간의 방식과 유사한 방식으로 웹 페이지를 이해할 수있어 데이터 추출을위한 강력한 도구가됩니다.
어떤 유형의 데이터가 DiffBot 추출물을 추출 할 수 있습니까? diffbot은 추출 할 수 있습니다. 웹 페이지의 광범위한 데이터 유형. 여기에는 텍스트, 이미지, 비디오 등이 포함됩니다. 또한 웹 페이지의 저자 또는 게시 날짜와 같은 메타 데이터를 추출 할 수도 있습니다. 이것은 DiffBot이 웹에서 광범위한 정보를 수집 할 수있는 데이터 추출을위한 다재다능한 도구로 만듭니다.
diffbot의 데이터 추출이 얼마나 정확한가?
diffbot의 데이터 추출은 매우 정확합니다. 기계 학습 기술의 사용. 인간의 것과 같은 방식으로 웹 페이지를 이해하도록 설계되어 관련 데이터를 정확하게 식별하고 추출 할 수 있습니다. 그러나 다른 도구와 마찬가지로 정확도는 웹 페이지의 복잡성과 추출되는 데이터 유형에 따라 달라질 수 있습니다.
소셜 미디어 사이트에서 데이터를 Diffot을 추출 할 수 있습니까? 소셜 미디어 사이트에서 데이터를 추출합니다. 여기에는 Facebook, Twitter 및 LinkedIn과 같은 사이트가 포함됩니다. 게시물, 의견, 좋아요 및 공유와 같은 데이터를 수집하여 소셜 미디어 분석 및 마케팅 연구에 유용한 도구가 될 수 있습니다. diffbot은 사용하기 쉽습니까?
diffbot은 간단한 인터페이스와 명확한 지침으로 사용자 친화적으로 설계되었습니다. 그러나 다른 도구와 마찬가지로 새로운 사용자를위한 학습 곡선이있을 수 있습니다. 다행히 Diffbot은 튜토리얼 및 고객 지원을 포함하여 사용자가 시작하는 데 도움이되는 다양한 리소스를 제공합니다.
Diffbot은 다량의 데이터를 처리 할 수 있습니까?
예, Diffbot은 대량의 양을 처리하도록 설계되었습니다. 데이터. 대량의 데이터를 빠르고 정확하게 수집하고 분석 해야하는 비즈니스를위한 강력한 도구입니다. Diffbot의 기계 학습 기술은 데이터를 신속하게 처리 할 수 있으므로 빅 데이터 프로젝트를위한 귀중한 도구가 될 수 있습니다.
Diffbot 사용으로 인한 산업이 혜택을받을 수있는 것은 무엇입니까?
광범위한 산업은 사용으로 이익을 얻을 수 있습니다. diffbot. 여기에는 마케팅, 연구, 저널리즘, 전자 상거래 등이 포함됩니다. 웹에서 데이터를 수집하고 분석하는 데 의존하는 산업은 Diffbot을 사용하는 데 도움이 될 수 있습니다.
Diffbot은 다른 데이터 추출 도구와 비교할 수 있습니까?
Diffbot은 다른 데이터 추출 도구에서 차별화됩니다. 머신 러닝 기술의 사용. 이를 통해 인간의 방식과 유사한 방식으로 웹 페이지를 이해하고 해석하여 데이터 추출을위한 강력하고 정확한 도구가 될 수 있습니다. 그러나 다른 도구와 마찬가지로 그 효과는 사용자의 특정 요구에 따라 달라질 수 있습니다.
Diffbot은 데이터 추출을위한 신뢰할 수있는 도구입니까?
예, Diffbot은 데이터 추출을위한 신뢰할 수있는 도구입니다. 광범위한 비즈니스 및 산업에서 웹에서 데이터를 수집하고 분석하는 데 사용됩니다. 기계 학습 기술을 사용하여 관련 데이터를 정확하게 추출하여 데이터 추출을위한 신뢰할 수있는 도구입니다.
위 내용은 diffbot : 시각적 기계 학습으로 크롤링의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!