Tentei o Python BeautifulSoup e o Phantom JS: AINDA não pode raspar sites
Você pode ter visto minhas frustrações desesperadas nas últimas semanas aqui. Pesquisei alguns dados do tempo de espera e ainda não consigo coletar dados desses dois sites
No começo, tentei o BS4 para Python. Código de exemplo abaixo para HCA Virgina
from BeautifulSoup import BeautifulSoup
import requests
url = 'http://hcavirginia.com/home/'
r = requests.get(url)
soup = BeautifulSoup(r.text)
wait_times = [span.text for span in soup.findAll('span', attrs={'class': 'ehc-er-digits'})]
fd = open('HCA_Virginia.csv', 'a')
for w in wait_times:
fd.write(w + '\n')
fd.close()
Tudo o que isso faz é imprimir espaços em branco no console ou no CSV. Então, eu tentei com o PhantomJS, já que alguém me disse que pode estar carregando com o JS. No entanto, mesmo resultado! Imprime espaços em branco no console ou CSV. Código de exemplo abaixo.
var page = require('webpage').create(),
url = 'http://hcavirginia.com/home/';
page.open(url, function(status) {
if (status !== "success") {
console.log("Can't access network");
} else {
var result = page.evaluate(function() {
var list = document.querySelectorAll('span.ehc-er-digits'), time = [], i;
for (i = 0; i < list.length; i++) {
time.push(list[i].innerText);
}
return time;
});
console.log (result.join('\n'));
var fs = require('fs');
try
{
fs.write("HCA_Virginia.csv", '\n' + result.join('\n'), 'a');
}
catch(e)
{
console.log(e);
}
}
phantom.exit();
});
Mesmos problemas com o Centura Health :(
O que estou fazendo errado?