Guest User

Untitled

a guest
Jan 22nd, 2019
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.14 KB | None | 0 0
  1. http://www.isbn.bn.br/website/consulta/cadastro/isbn/9788566250299
  2.  
  3. String.prototype.trim = function() {
  4. return this.replace(/^s+|s+$/g, '');
  5. };
  6.  
  7.  
  8. var livro = '"' + document.getElementsByClassName("conteudo")[0].getElementsByTagName('div')[5].childNodes[3].nodeValue.trim() +
  9. '" "' + document.getElementsByClassName("conteudo")[0].getElementsByTagName('div')[6].childNodes[3].nodeValue.trim() +
  10. '" "' + document.getElementsByClassName("conteudo")[0].getElementsByTagName('div')[7].childNodes[3].nodeValue.trim() +
  11. '" "' + document.getElementsByClassName("conteudo")[0].getElementsByTagName('div')[8].childNodes[3].nodeValue.trim() +
  12. '" "' + document.getElementsByClassName("conteudo")[0].getElementsByTagName('div')[10].childNodes[3].nodeValue.trim() +
  13. '" "' + document.getElementsByClassName("conteudo")[0].getElementsByTagName('div')[12].childNodes[3].nodeValue.trim() +
  14. ';' + document.getElementsByClassName("conteudo")[0].getElementsByTagName('div')[12].childNodes[5].nodeValue.trim() + '"';
  15.  
  16. console.log(livro);
  17.  
  18. "978-85-66250-29-9" "Começando com o linux: comando, serviços e administração" "1" "2013" "135" "Adriano Henrique de Almeida (Organizador);Paulo Eduardo Azevedo Silveira (Organizador);Daniel Romero ( Autor);"
  19.  
  20. var isbn = ["9788566250299", "9788555191459", "9788555191039"];
  21.  
  22. https://www.googleapis.com/books/v1/volumes?q=isbn:9788566250299
  23.  
  24. var isbns = ["9788566250299", "9788555191459", "9788555191039"];
  25.  
  26. function trim(str) {
  27. return str.replace(/^s+|s+$/g, '');
  28. };
  29.  
  30. function iterator(numbers, done) {
  31. var ISBNdata = [];
  32. var calls = numbers.length;
  33. isbns.forEach(function(isbn, i) {
  34. fetch(isbn, i, function(data, index) {
  35. calls--;
  36. ISBNdata[index] = data;
  37. if (calls == 0) done(ISBNdata)
  38. });
  39. });
  40. }
  41.  
  42. function fetch(nr, index, cb) {
  43. $.ajax('/website/consulta/cadastro/isbn/' + nr).done(function(raw) {
  44. var data = process(raw);
  45. console.log('Recebido index', index);
  46. cb(data, index);
  47. });
  48. }
  49.  
  50. function process(raw) {
  51. var body = raw.match(/<body>([sS]+)</body>/);
  52. if (!body) return;
  53. var proxy = document.createElement('div');
  54. proxy.innerHTML = body[1];
  55. var elements = proxy.querySelector('.conteudo').getElementsByTagName('div');
  56. var data = [5, 6, 7, 8, 10, 12].map(function(i) {
  57. return elements[i].childNodes[3].nodeValue;
  58. });
  59. data.push(elements[12].childNodes[5].nodeValue);
  60. return data.map(trim);
  61. }
  62.  
  63. iterator(isbns, function(data) {
  64. console.log('---------------')
  65. console.log(JSON.stringify(data));
  66. });
  67.  
  68. [
  69. ["978-85-66250-29-9", "Começando com o linux: comando, serviços e administração", "1", "2013", "135", "Adriano Henrique de Almeida (Organizador)", "Paulo Eduardo Azevedo Silveira (Organizador)"],
  70. ["978-85-5519-145-9", "Componentes reutilizáveis em Java com reflexão e anotações", "1", "2014", "378", "Eduardo Guerra ( Autor)", "Vivian Matsui (Editor)"],
  71. ["978-85-5519-103-9", "Containers com Docker: do desenvolvimento à produção", "1", "2015", "127", "Daniel Romero ( Autor)", "Vivian Matsui (Editor)"]
  72. ]
Add Comment
Please, Sign In to add comment