문제

나는 이것이 상당히 간단 할 것이라고 생각했지만 도전적으로 증명된다고 생각했다.Google은 https://를 사용하여 Bing Redirects를 사용하여 HTTP://를 제거합니다.

주어진 검색어에 대해 상위 5 개의 URL을 어떻게 잡을 수 있습니까?

나는 몇 가지 방법을 시도했지만, iFrame로 로딩하는 것을 포함하는 것을 시도했지만, 내가 시도하는 모든 것을 가지고있는 벽돌 벽을 계속해라.

나는 수확 될 매우 적은 양의 결과에 대해 이야기하고 몇 달 동안 만 20-30 개의 용어에 대해서만 사용하는 것처럼 프록시가 필요하지 않을 것입니다.찾는 자이언츠에서 채찍의 채찍을 유발하기에 충분하지 않습니다.

도움이 많이 많이 감사 할 것입니다!

여기서 시도한 것의 한 가지 예가 있습니다 :

$query = urlencode("test"); 

preg_match_all('/<a title=".*?" href=(.*?)>/', file_get_contents("http://www.bing.com/search?q=" . urlencode($query) ), $matches); 

echo implode("<br>", $matches[1]);
.

도움이 되었습니까?

해결책

이 작업을 수행하는 세 가지 주요 방법이 있습니다. 첫째, 사용중인 검색 엔진의 공식 API를 사용하십시오. Google은 하나가 있고 대부분의 것들이 있습니다. 이것들은 종종 볼륨이 제한되지만, 당신이 말하는 숫자의 경우, 당신은 괜찮을 것입니다.

두 번째 방법은 스크레이퍼 프로그램을 사용하여 검색 페이지를 방문하여 검색 용어를 입력하고 관련 양식을 제출하는 것입니다. PHP를 지정한 이래로 Goutte 를 추천합니다. 내부적으로 그것은 스위핑 및 심포니 구성 요소를 사용하므로 좋을 것입니다! 위의 링크의 README는 얼마나 쉬운지를 보여줍니다. HTML 조각의 선택은 XPath 또는 CSS를 사용하여 수행되므로도 유연합니다.

마지막으로 필요한 스크랩의 부피가 낮은 "noreferrer"> import.io 에서 무료 소프트웨어 패키지를 다운로드하는 것을 고려하십시오. 이를 통해 포인트 앤 클릭 인터페이스를 사용하여 스크레이퍼를 작성할 수 있으며 로컬 또는 클라우드 데이터베이스에 데이터를 저장하기 전에 페이지의 다양한 영역을 긁어 모으는 방법을 알 수 있습니다.

다른 팁

"Nofollow Noreferrer"> Serp API 와 같은 타사 서비스를 사용할 수도 있습니다. Google 결과를 얻으려면.

통합이 매우 쉽습니다 ::

$query = [
    "q" => "Coffee",
    "google_domain" => "google.com",
];

$serp = new GoogleSearchResults();
$json_results = $serp.json($query);
.

github 프로젝트 .

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top