Получение json на обратном вызове ответа Ajax

Когда я смотрю ваш заданный URL-адрес, я думаю, что таблица встраивается в веб-сайт, который дается:

 

Когда вы нажимаете src https: // www. Откроется страница senamhi.gob.pe/mapas/mapa-estaciones/_dat_esta_tipo.php?estaciones=472CA750, которая показывает ту же таблицу, чтобы вы могли намылить эту страницу. Я пробую это для вас. Это дало истинный результат

** Весь код: **

from bs4 import BeautifulSoup
import requests
resp = requests.get("https://www.senamhi.gob.pe/mapas/mapa- 
estaciones/_dat_esta_tipo02.php? 
estaciones=472CA750&tipo=SUT&CBOFiltro=201902&t_e=M")

html = resp.content
soup = BeautifulSoup(html,"lxml") ## Add lxml  or html.parser in this line

option_tags = soup.find_all("tr" , attrs={'aling' : 'center'})

for a in option_tags:
    print a.find('div').text

ВЫХОД:

Día/mes/año
Prom
01-02-2019
02-02-2019
03-02-2019
04-02-2019
05-02-2019
06-02-2019
07-02-2019
08-02-2019
09-02-2019
10-02-2019
11-02-2019
12-02-2019
13-02-2019
14-02-2019
15-02-2019
16-02-2019
17-02-2019
18-02-2019

выше Код просто получить только дату. Если вы хотите получить доступ ко всем элементам с заданной датой, вы можете создать массив и добавить его. Просто изменится ниже код

array = []
for a in option_tags:
    array.append(a.text.split())

print array

7
задан Rob W 27 December 2011 в 21:30
поделиться

2 ответа

Это правильный синтаксис для получения JSON с прототипом

onSuccess: function(response){
   var json = response.responseText.evalJSON();
}
22
ответ дан 6 December 2019 в 06:25
поделиться

Вы также можете просто пропустить фреймворк. Вот кроссбраузерный способ использования ajax, используемый в виджете комментариев:

//fetches comments from the server
CommentWidget.prototype.getComments = function() {
  var commentURL = this.getCommentsURL + this.obj.type + '/' + this.obj.id; 
  this.asyncRequest('GET', commentURL, null);
}


//initiates an XHR request
CommentWidget.prototype.asyncRequest = function(method, uri, form) {
  var o = createXhrObject()
  if(!o) { return null; } 
  o.open(method, uri, true);
  o.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
  var self = this;
  o.onreadystatechange =  function () {self.callback(o)};
  if (form) { 
    o.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
    o.send(makePostData(form)); 
  } else {
    o.send(''); 
  }  
}

//after a comment is posted, this rewrites the comments on the page
CommentWidget.prototype.callback = function(o) {                  
  if (o.readyState != 4) { return }
  //turns the JSON string into a JavaScript object.
  var response_obj = eval('(' + o.responseText + ')');
  this.comments = response_obj.comments;
  this.refresh()
}

Я открыл этот код здесь http://www.trailbehind.com/comment_widget

1
ответ дан 6 December 2019 в 06:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: