Python скрести веб-страницу и разобрать содержимое
Я хочу поцарапать данные по этой ссылке
http://www.realclearpolitics.com/epolls/json/5491_historical.js?1453388629140&callback=return_json
Я не уверен, что это за ссылка, html или json или что-то еще. Извините за мои плохие веб-знания. Но я пытаюсь использовать следующий код для очистки:
import requests
url='http://www.realclearpolitics.com/epolls/json/5491_historical.js?1453388629140&callback=return_json'
source=requests.get(url).text
Тип источника - Юникод. Я также пытаюсь использовать urllib2 для очистки как:
source2=urllib2.urlopen(url).read()
Тип source2 - строка. Я не уверен, какой метод лучше. Поскольку ссылка не похожа на обычную веб-страницу, содержит разные теги. Если я хочу очистить очищенные данные и сформировать данные информационного кадра (например, информационный кадр Pandas), какой метод или процесс я должен использовать /
Благодарю.
2 ответа
Возвращенный ответ - это текст, содержащий в себе действительные данные JSON. Вы можете проверить его самостоятельно, используя сервис, такой как http://jsonlint.com/ если хотите. Для этого просто скопируйте код в скобках
return_json("JSON-код для копирования")
Для того, чтобы использовать эти данные, вам просто нужно проанализировать их в вашей программе. Вот пример: https://docs.python.org/2/library/json.html
Ответ текстовый. Он содержит JSON, просто нужно извлечь его
import json
strip_len = len("return_json(")
source=requests.get(url).text[strip_len:-2]
source = json.loads(source)