sto cercando di raschiare i dati dal sito pubblico asx.com.auRaschiamento del web: come accedere al contenuto reso in JavaScript tramite Angular.js?
La pagina contiene una http://www.asx.com.au/asx/research/company.do#!/ACB/detailsdiv
con classe 'vista-content', che ha l'informazioni che mi servono:
Ma quando io cerco di visualizzare questa pagina tramite Python urllib2.urlopen
che div è vuota:
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>
E 'possibile l'accesso il contenuto di quel div a livello di programmazione?
Modifica: come da commento sembra che il contenuto sia reso tramite Angular.js
. È possibile attivare il rendering di quel contenuto tramite Python?
vedo 'ng-scope' - è l'uso nome dal quadro' AngularJS' (o simile quadro) quindi questa pagina è generata da JavaScript. – furas
@furas dato che, forse questo è un duplicato di http://stackoverflow.com/questions/30673447/fetch-text-from-web-with-angular-js-tags-such-as-ng-view e ho bisogno usare il selenio o simili? –
non hai bisogno del selenio hai già url nella mia risposta e puoi ottenerlo usando 'urrlib' e' json' :) Sto lavorando all'esempio di codice. – furas