Найти - Пользователи
Полная версия: Спарсить данные с указанного url
Начало » Network » Спарсить данные с указанного url
1 2 3 4 5 6
PooH
Маньяки, блин :) из пушки на луну по воробьям. Не проще было разобрать как данные в JSON организованы?!
vic57
PooH
Не проще было разобрать как данные в JSON организованы?!
покажите конструктивный пример
FishHook
vic57
покажите конструктивный пример
Да уже, кажется, все разжевано. Ну ок, давайте еще раз. Есть два способа получить динамическую веб-страницу. Будем считать динамической страницу, содержимое которой формируется при каждой загрузке в браузер и может быть каждый раз разным и индивидуальным для пользователя, в отличии от статической веб-страницы, которая представляет собой простой html-документ и всегда выглядит для всех одинаково.
1. Первый способ классический. На каждый get-запрос сервер формирует новый html-документ. Данные для отображения зашиваются непосредственно в документ - в таблицы, заголовки, ссылки и т.д.
То есть, если юзер нажал на ссылку http/…/…/?page=5, в ответ от сервера придет полноценный документ, в котором будет head, body, куча элементов для красоты и всякого СЕО и например, таблица
 <html>
<head>
.....
</head>
<body>
<h1>LALALALALA</h1>
<table>
<tr>
<td>Name</td>
<td>Count</td>
</tr>
<tr>
<td>John</td>
<td>23</td>
</tr>
<tr>
<td>Alice</td>
<td>45</td>
</tr>
</table>
</html>

2. Современный способ. Сервер не формирует структуру документа и не зашивает данные в разметку. Сам по себе документ статичный, одинаковый для всех и представляет собой чисто каркас страницы. Условно так
 <html>
<head>
.....
</head>
<body>
<h1>LALALALALA</h1>
<table id="count_table">
</table>
</html>
А вот данными таблица заполняется джаваскриптом отдельными аякс-запросами, ответы на которые приходят в браузер в JSON-формате. Это будет выглядеть условно так

 [{name: "John", count: 23}, {name: Alice, count: 45}]


Вам намекают, что парсить итоговую страницу скорее всего бессмысленно, потому что есть ссылки, по которым вы получите всю нужную информацию в чистом виде. Вам надо посмотреть встроенными в браузер средствами отладки, на какие урлы уходят запросы при загрузке станицы или кликах на кнопках.
Эти запросы и несут весь нужный вам контент.
FishHook
Слева адрес, справа - данные.
Ничего вытягивать из разметки не надо.

vic57
FishHook
сайт на AngularJS
как вы элемент со скрина получите?

FishHook
vic57
FishHook, а без браузера, в скрипте? не надо картинки показывать, код покажите
http://bus.gov.ru/pub/agency/206030/tasks/3573224
vic57
FishHook
ЕЯПП это?
http://bus.gov.ru/public/agency/agency_tasks.json?agency=206030&task=3573224
FishHook таки да, сделал get запрос, получил json без браузера. век живи - век учись
+ в репу
Vigi
FishHook
Отдельно +!
vic57
FishHook таки да, сделал get запрос, получил json без браузера. век живи - век учись
А можно по подробней?

vic57
 import requests
import time
import json
url = 'http://bus.gov.ru/public/agency/agency_tasks.json?agency=206030&task=3573224'
r = requests.get(url)
data = r.json()
t = json.dumps(data['agency']['publishedGeneralInformation']['realPublishDate'],
               ensure_ascii=False,sort_keys=True,indent=3)
t = t[:-3] +'.'+t[-3:]#??
print t
print time.time()
print time.gmtime()
print time.gmtime(float(t))
скачиваешь json плагин к ФФ и смотришь
ЗЫ совсем я забыл про пхп
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB