2012-04-07 4 views
8

다음 url의 일부 데이터를 파이썬을 사용하여 긁고 싶습니다. http://www.hankyung.com/stockplus/main.php?module=stock&mode=stock_analysis_infomation&itemcode=078340파이썬을 사용하여 자바 스크립트 생성 데이터 긁힘

회사 정보 요약 정보입니다.

첫 페이지에 긁어 내고자하는 내용이 표시되지 않습니다. "재무 제표"탭을 클릭하면 재무 제표에 액세스 할 수 있습니다. 그리고 이름 탭을 클릭하면 현금 흐름을 '현금 흐름표', 당신은에 액세스 할 수 있습니다 "".

을 나는 긁어 싶다 "현금 흐름"데이터를.

그러나, 현금 흐름 데이터는 URL을 통해 자바 스크립트에 의해 생성됩니다. 을 다음 링크는 숨겨진 URL, http://stock.kisline.com/compinfo/financial/main.action?vhead=N&vfoot=N&vstay=&omit=&vwidth=

현금 흐름 데이터가이 URL에 대한 몇 가지 옵션 값과 쿠키를 제출하여 생성됩니다.

당신이 인식으로 itemcode가 첫 번째 링크에서 078,340을 = 재고 코드와 의미이다 현금 흐름 데이터를 수집하고자하는 1680 개의 주식이 있습니다. 개미는 루프 구조로 만듭니다.

현금 흐름 데이터를 긁을 수있는 좋은 방법이 있습니까? 나는 scrapy를 시도했으나 이미 다른 scraping 코드를 다루기는 어렵다.

+0

데이터는 서버에서 아약스로 가져 왔는가 또는 어떻게 든 HTML 변수에 저장 되는가? (JS 변수 또는'data-'와 같은)? – Tadeck

+1

서비스 약관에 따라 서비스가 가능합니까? – luke14free

+0

Tadeck, 데이터가 서버에서 가져옵니다. – trigger

답변

1

당신은 AJAX와 함께 업데이트되는 페이지의 콘텐츠를 촉각 근 필요가 있고 당신은 내가 작업에 대한 셀레늄 브라우저 자동화 도구를 사용하는 것이이 AJAX 인터페이스의 제어에없는 경우 :

http://code.google.com/p/selenium/

  • 셀레늄은 파이썬 바인딩을 가지고

  • 은 어떻게 당신이 당신의 눈으로 직접 보는 바와 같이 100 %에게 같은 일을 긁어 수 있도록 실제 브라우저 인스턴스를 시작

  • 가져 오기 HTML 셀레늄 API 문서 중 관련 부분을 구문 분석하는

  • 사용 LXML + XPath는/CSS 선택기 통해 AJAX 업데이트 후 문서 내용이

+0

고마워요. 셀레늄을 시험해 볼거야. – trigger

+0

jquery를이 lxml + xpath 부분으로 끝에 대체 할 수 있습니까? (나머지 단계는 따릅니다)? – abbood

+0

Selenium은 기본 브라우저를 사용하는 자체 CSS 선택기 엔진을 제공하므로 더 이상 jQuery 나 lxml이 필요하지 않습니다. –

9

또한 dryscape (에 의해 작성된 라이브러리있다 나, 그래서 권고는 비트 바이어스, 분명히 :) 빠른 웹킷 기반의 인 메모리 브라우저를 사용하여 주위를 탐색합니다. Javascript도 이해하지만 Selenium보다 훨씬 가볍습니다.

+0

고마워요. 시도해 볼게 – trigger