libcurl을 사용하여 C 웹 사이트 크롤러를 작성했습니다. 원하는 경우 모든 웹 사이트의 텍스트 콘텐츠를 긁을 수 있습니다.c/libcurl을 통해 암호로 보호 된 뉴스 사이트 액세스
그러나 유효한 구독으로 대규모 뉴스 게시자와 같이 비밀번호로 보호 된 웹 사이트를 크롤링 할 수 있어야합니다. 그래서 우리는 이들 사이트에 대한 사용자 이름/비밀번호를 가지고 있습니다.
누구든지 libcurl을 사용하여이를 달성하기위한 조언을 제공 할 수 있습니까? libcurl 옵션에 사용자 이름/암호를 추가 할 수 있다는 것을 알고 있습니다. 나는이 일을하고 패스워드로 보호되는 올바른 페이지에 접근하는 것이 모든 것이 될 것이라고 생각했다. CURL 코드의 발췌 부분은 다음과 같습니다.
curl_easy_setopt(curlTestHandle, CURLOPT_URL, "mypasswordprotectedwebsiteurl");
curl_easy_setopt(curlTestHandle, CURLOPT_WRITEFUNCTION, WriteMemoryCallback);
curl_easy_setopt(curlTestHandle, CURLOPT_FOLLOWLOCATION, 1);
curl_easy_setopt(curlTestHandle, CURLOPT_MAXREDIRS, 5);
curl_easy_setopt(curlTestHandle, CURLOPT_USERPWD, "myusername:mypassword");
res = curl_easy_perform(curlTestHandle);
curl_easy_getinfo (curlTestHandle, CURLINFO_RESPONSE_CODE, &httpResponse);
그러나 아마도 너무 단순화했을 것입니다. 아마도 일부 웹 사이트에서는 작동하지만 다른 사이트에서는 작동하지 않을 수 있습니다. 아무도 다하고 비슷한 것을 얻었습니까?
감사합니다,
마노
파이썬 사용을 고려한다면, 이런 종류의 도구가 많이 있습니다. (Selinium, Mechanize 등.) 속도는 문제가 될 수 있지만, 일어나고 달리는 것이 더 쉬울 것입니다. – Indy9000
모든 웹 사이트가 다릅니다. –
Indeera의 의견을 묻습니다. 어떤 종류의 크로스 플랫폼/장치 호환성 (예 : 모바일 장치에서이 작업을 수행하는 경우)이 필요하지 않으면 Python을 사용하는 것이 좋습니다. 필자는 Python (Urllib/Urllib2/BeautifulSoup 사용)과 관련된 모든 화면 스크래핑을 프로토 타입 화하고 장치 사용시 libcurl로 이동해야하는 경우에만 프로토 타입을 작성합니다. – jmc