웹을 크롤링하여 1 백만 개의 사용자 이름 또는 이메일 기록을 데이터베이스에 삽입하는 스크립트를 작성해야합니다. 스크립트는 파이썬, 루비, PHP 등과 같은 유형일 수 있습니다.웹 크롤링, 루비, 파이썬, 카산드라
가능한 경우 알려 주시기 바랍니다. 가능하면 가능한 경우 스크립트 작성 방법에 대한 정보를 제공해주십시오.
감사
웹을 크롤링하여 1 백만 개의 사용자 이름 또는 이메일 기록을 데이터베이스에 삽입하는 스크립트를 작성해야합니다. 스크립트는 파이썬, 루비, PHP 등과 같은 유형일 수 있습니다.웹 크롤링, 루비, 파이썬, 카산드라
가능한 경우 알려 주시기 바랍니다. 가능하면 가능한 경우 스크립트 작성 방법에 대한 정보를 제공해주십시오.
감사
그 수는 컴퓨터의 성능과 인터넷 연결에 따라하지만 약간의 시간이 걸릴 수 있습니다.
PHP의 cURL 라이브러리를 사용하여 웹 요청을 자동으로 보내면 라이브러리 (예 : simplHtmlDOM)를 사용하거나 네이티브 PHP DOM을 사용하여 데이터를 쉽게 파싱 할 수 있습니다. 그러나 메모리가 부족하다는 점에 유의하고 웹 브라우저가 아닌 쉘에서 스크립트를 실행하는 것이 좋습니다. 또한 멀티 컬 기능을 사용하여 프로세스를 고정시키는 것도 고려하십시오.
멀티 스레딩이이 시나리오에서 엄청난 성능 향상을 가져올 지 모르지만 구현하기가 쉽고 빠르기 때문에 제안한 다른 언어 중 하나를 사용하는 것이 좋습니다. Apache HttpClient 라이브러리를 사용하여 Java에서 쉽게이 작업을 수행 할 수 있고 DOM을 조작하고 원시 x 경로 지원, 정규식을 사용하여 데이터를 추출하거나 Java에서 여러 타사 DOM 구현 중 하나를 사용할 수 있습니다.
Java 라이브러리 HtmlUnit을 확인해 보는 것이 좋습니다. 삶이 훨씬 쉬워 질 수도 있지만, 성능이 좋을 수도 있습니다. 좋은 멀티 스레딩 구현은 엄청난 성능 향상을 가져 오지만 나쁜 프로그램은 프로그램 실행을 악화시킬 수 있습니다. 여기
는 파이썬에 대한 몇 가지 자료입니다 : 내가 크롤링 측에 약간을 추가. 당신은 웹을 크롤링했다. 여기에서 크롤링 방향 (예 : 페이지를 가져온 후, 다음에 방문하기위한 링크가 매우 중요하게됩니다). 그러나 이미 웹 페이지 목록 (시드 URL 목록이라고 함)이 있으면 다운로드하고 reqd를 구문 분석하면됩니다. 데이터. 전자 메일 주소를 구문 분석하기 만하면 정규식이됩니다. html에는 전자 메일에 대한 태그가 없으므로 htmldom 파서가 도움이되지 않습니다.
당신이 찾고있는 것을 할 수있는 Apache Nutch와 Apache Gora도보아야합니다. Nutch는 Gora가 Cassandra, Hive 또는 MySQL에 결과를 저장하는 실제 크롤링을 수행합니다.
나는 늦었다 고 알고 있습니다. 그러나이 질문은 질문을 받고 답변 한 이래로 왔습니다. –