2012-09-04 3 views
0

많은 다른 지방 정부 웹 사이트에서 공개 데이터를 긁어 모으고 있습니다. 이 데이터는 표준 형식 (XML, RSS 등)으로 제공되지 않으므로 HTML에서 스크랩해야합니다. 나는이 데이터를 긁어내어 나중에 참조 할 수 있도록 데이터베이스에 저장해야합니다. 이상적인 scraping 루틴은 반복적으로 실행되며 새 레코드 만 데이터베이스에 저장합니다. 각 웹 사이트에서 이전 기록을 쉽게 찾을 수있는 방법이 있어야합니다.많은 다른 웹 사이트에서 데이터를 스크랩하는 가장 좋은 방법

내 큰 질문은 무엇입니까?이를 수행하는 가장 좋은 방법은 무엇입니까? YQL을 사용한다고 들었습니다. 또한 일부 프로그래밍 언어로 인해 HTML 데이터를 쉽게 파싱 할 수 있다는 것도 알고 있습니다. 저는 여러 언어로 된 지식을 가진 개발자로서 이것을 개발하기 위해 적절한 언어와 방법을 선택하도록하고 싶습니다. 그래서 유지하기 쉽습니다. 앞으로 웹 사이트가 변경됨에 따라 스크래핑 루틴/코드/로직이 업데이트되어야하므로 상당히 쉽습니다.

제안 사항?

답변

0

모듈 WWW::Mechanize (웹 자동화) 및 HTML::TokeParser (HTML 구문 분석)으로 Perl을 사용합니다.

그렇지 않으면 파이썬을 Mechanize 모듈 (웹 자동화)과 BeautifulSoup 모듈 (HTML 파싱)과 함께 사용합니다.

0

David와 perl 및 python에 동의합니다. 루비는 또한 기계화가되어 있으며 스크래핑에 탁월합니다. 내가 멀리 떨어져있을 유일한 단점은 라이브러리 긁기와 서투른 정규식 함수 때문입니다. YQL이가는 한 그것은 좋은 일이지만 긁기 때문에 실제로 잘못 될 수있는 추가 레이어가 추가됩니다 (제 생각에는).

0

글쎄, 내 자신의 근근이 살아가는 라이브러리 또는 해당 command line tool을 사용합니다.

그것은, 실제 프로그래밍없이 대부분의 웹 페이지를 긁어 정규 형식으로 다른 사이트에서 비슷한 데이터를 정상화 페이지의 어느 것도 확인할 수 템플릿을 사용할 수 있습니다

가 레이아웃을 변경 ...

명령 행 도구를 통해 데이터베이스를 지원하지 않는다면 뭔가 프로그래밍해야 할 것입니다 ...

(다른 한편으로 Webharvest은 데이터베이스를 지원하지만 템플릿이 없음)

관련 문제