Найти - Пользователи
Полная версия: Спарсить данные с указанного url
Начало » Network » Спарсить данные с указанного url
1 2 3 4 5 6
Vigi
PooH
Пойдет?
Можно узнать по подробней как вы это получили?, ну и наверное данная ссылка не пойдет, так-как мне конкретно нужно получить “Дата публикации” как в первом посту на скрине.
PooH
Vigi
Можно узнать по подробней как вы это получили
В chrome открыл инструменты разработчика, вкладку Network, опцию XHR и посмотрел запросы к серверу. Это приложение написано на angular, оно тянет данные с сервера и строит по ним страницу, вот я и посмотрел какие именно данные оно тянет. С параметрами запросов еще надо разобраться, но это уже сами.

PS: привет земляк, я с Барнаула
py.user.next
Vigi
Что-то странное у вас
Когда весь Интернет открывается, а какой-то один сайт не открывается, то он идёт на три весёлых буквы. Не буду я браузер менять из-за какой-то недоработки, потому что мой браузер для меня ценен и важен (и вообще бэкапится по своему).
Vigi
PooH
В chrome открыл инструменты разработчика, вкладку Network, опцию XHR и посмотрел запросы к серверу. Это приложение написано на angular, оно тянет данные с сервера и строит по ним страницу, вот я и посмотрел какие именно данные оно тянет. С параметрами запросов еще надо разобраться, но это уже сами.
сенькс, поковыряюсь…

PooH
PS: привет земляк, я с Барнаула
Привет! я 276 км от вас в сторону Рубцовска
Vigi
наверное нужно в сторону selenium на движке PhantomJS смотреть….?
vic57
Vigi
ак-как мне конкретно нужно получить “Дата публикации” как в первом посту на скрине.
если только это то можно спарсить phantomjs страницу в pdf и pdf в text, selenium не нужен
http://osotov.github.io/pdf-generation_with-phantomjs/

js content
vic57
у тебя задача сложнее. попробовал спарсить
 var page = require('webpage').create();
var fs = require('fs');
var path = 'page.html';
var url='http://bus.gov.ru/pub/agency/8968/tasks/3472492';
page.open(url, function (status) {
  console.log('status:',status);
  var content = page.content;
  fs.write(path,content,'w');
  phantom.exit();
});
получил в консоли ошибки
 bash-3.2$ phantomjs render.js 
Error: [$injector:modulerr] Failed to instantiate module gmuApp due to:
[$injector:nomod] Module 'gmuApp' is not available! 
You either misspelled the module name or forgot to load it. 
If registering a module ensure that you specify the dependencies as the second argument.
vic57
получилось через браузер - сохранить как PDF и через PDF to Text
но в общем-то костыль
vic57
в обчем получилось так:
 from selenium import webdriver
driver = webdriver.Firefox(executable_path='/usr/local/bin/geckodriver')
url = 'http://bus.gov.ru/pub/agency/8968/tasks/3472492'
driver.get(url)
html = driver.page_source
f = open("f.html","w+")
for i in html:
    f.write(i.encode("utf-8"))
f.close()
Vigi
vic57
Ну спасибо огромное. Хоть что - то сдвинулось с мертвой точки
Сам сижу разбираюсь с selenium.
В общем пока получилось что хотел вот так (предварительно):
 from selenium import webdriver
from bs4 import BeautifulSoup as BS
def get_page_html(url):
    driver = webdriver.Firefox()#Движок в коде с проектом, по этому путь не указан
    driver.get(url)
    html = driver.page_source
    driver.quit()
    return html
def pars(html):
    soup = BS(html, 'lxml')
    return soup.find('div', class_='info-date ng-binding ng-scope').text.strip()
def main(urls):
    for url in urls:
        print(pars(get_page_html(url)))
if __name__ == '__main__':
    main(['http://bus.gov.ru/pub/agency/8968/tasks/3472492',
          'http://bus.gov.ru/pub/agency/8968/plans',
          'http://bus.gov.ru/pub/agency/8968/operations/'
          ])
Почему то с движком PhantomJS не тот ресурс получается.. А так код работает вот бы еще браузер перед глазами не мелькал…
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