2012-04-07 47 views
8

Tôi muốn xóa một số dữ liệu của url sau bằng Python. http://www.hankyung.com/stockplus/main.php?module=stock&mode=stock_analysis_infomation&itemcode=078340Cạo dữ liệu được tạo javascript bằng Python

Đó là về bản tóm tắt thông tin công ty.

Điều tôi muốn xóa không được hiển thị trên trang đầu tiên. Bằng cách nhấp vào tab có tên "재무 제표", bạn có thể truy cập báo cáo tài chính. Và tab tên là nhấp vào "현금 흐름표', bạn có thể truy cập vào "dòng tiền".

Tôi muốn cạo "Cash Flow" dữ liệu.

Tuy nhiên, dữ liệu lưu chuyển tiền tệ được tạo ra bởi javascript trên url. liên kết sau là url mà là ẩn, http://stock.kisline.com/compinfo/financial/main.action?vhead=N&vfoot=N&vstay=&omit=&vwidth=

dữ liệu lưu chuyển tiền tệ được tạo ra bằng cách gửi một số giá trị tùy chọn và cookie để url này.

Như bạn cảm nhận, itemcode = 078.340 trong liên kết đầu tiên có nghĩa là mã cổ phiếu và có tới 1680 cổ phiếu mà tôi muốn thu thập dữ liệu dòng tiền. kiến làm cho nó một cấu trúc vòng lặp.

Có cách nào tốt để xóa dữ liệu luồng tiền không? Tôi đã cố gắng nhiều nhưng có vẻ khó khăn để đối phó với một mã cào khác của tôi mà tôi đang sử dụng.

+0

Dữ liệu được lấy bởi ajax từ máy chủ hoặc được lưu trữ trong html bằng cách nào đó (như trong biến JS hoặc trong 'dữ liệu-')? – Tadeck

+1

Điều khoản dịch vụ có cho phép bạn thực hiện điều đó không? – luke14free

+0

Tadeck, dữ liệu được lấy từ máy chủ. – trigger

Trả lời

1

Nếu bạn cần scape nội dung trang được cập nhật với AJAX và bạn đang không ở trong sự kiểm soát của giao diện này AJAX Tôi sẽ sử dụng Selenium công cụ tự động trình duyệt cho nhiệm vụ:

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

  • Selenium có các ràng buộc Python

  • Nó khởi chạy một phiên bản trình duyệt thực để nó có thể làm và cạo 100% giống như bạn nhìn thấy bằng mắt của bạn

  • Nhận HTML nội dung tài liệu sau khi cập nhật AJAX thru Selenium API

  • Sử dụng lxml + xpath/CSS Selectors phân tích ra các bộ phận liên quan ra khỏi tài liệu

+0

Cảm ơn rất nhiều. Tôi sẽ thử selenium. – trigger

+0

Tôi có thể thay thế jquery bằng phần xxml + xpath này ở cuối (và làm theo các bước còn lại)? – abbood

+0

Selenium đi kèm với công cụ chọn CSS riêng (có thể sử dụng trình duyệt cơ bản), vì vậy bạn không cần jQuery cũng như lxml nữa –

9

Ngoài ra còn có dryscape (một thư viện được viết bởi tôi, do đó, đề xuất là một chút thiên vị, rõ ràng :) sử dụng trình duyệt trong bộ nhớ nhanh dựa trên Webkit để điều hướng xung quanh. Nó cũng hiểu Javascript, nhưng nhẹ hơn rất nhiều so với Selenium.

+0

Cảm ơn rất nhiều. tôi sẽ thử nó – trigger

Các vấn đề liên quan