Tôi đang cố gắng để trích xuất dữ liệu từ các trang web công cộng asx.com.auDò web - cách truy cập nội dung được hiển thị bằng JavaScript qua Angular.js?
Trang http://www.asx.com.au/asx/research/company.do#!/ACB/details chứa một div
với lớp 'xem nội dung', trong đó có thông tin mà tôi cần:
Nhưng khi Tôi cố gắng xem trang này qua số urllib2.urlopen
của Python mà div trống:
import urllib2
from bs4 import BeautifulSoup
url = 'http://www.asx.com.au/asx/research/company.do#!/ACB/details'
page = urllib2.urlopen(url).read()
soup = BeautifulSoup(page, "html.parser")
contentDiv = soup.find("div", {"class": "view-content"})
print(contentDiv)
# the results is an empty div:
# <div class="view-content" ui-view=""></div>
Có thể truy cập nội dung của div đó theo chương trình?
Chỉnh sửa: theo nhận xét có vẻ như nội dung được hiển thị qua Angular.js
. Có thể kích hoạt hiển thị nội dung đó qua Python không?
tôi thấy 'ng-scope' - đó là tên sử dụng bởi khuôn khổ 'AngularJS' (hoặc khung tương tự) do đó, trang này được tạo bởi JavaScript. – furas
@furas cho rằng, có lẽ đây là bản sao của http://stackoverflow.com/questions/30673447/fetch-text-from-web-with-angular-js-tags-such-as-ng-view và tôi cần sử dụng Selenium hoặc tương tự? –
bạn không cần selen mà bạn đã có url trong câu trả lời của tôi và bạn có thể lấy nó bằng cách sử dụng 'urrlib' và' json' :) Tôi đang làm việc trên ví dụ mã. – furas