Форум программистов, компьютерный форум, киберфорум
Python: Web
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 19.02.2015
Сообщений: 10
1

Ошибка в цикле обработки страниц в парсере сайта

28.05.2017, 23:37. Показов 695. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток, уважаемые форумчане, при написании парсера (код ниже) застрял на ошибке - цикл обработки страниц обрабатывает только одну страницу и выводит информацию столько раз, сколько получено страниц при пагинге вместо того чтобы обработать все страницы. Застрял…подскажите пожалуйста где я ошибся:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
 import urllib.request
from bs4 import BeautifulSoup
BASE_URL = "https://bank.gov.ua/control/uk/publish/category?cat_id=55838&page=1"
def get_html(url):
    response = urllib.request.urlopen(url)
    return response.read()
#создаем счетчик страниц:
def get_page_count(html):
    soup = BeautifulSoup(html,'lxml')
    last_link = soup.find('td', class_='nav').find_all('a')[-1:]
    for href in last_link:
        paggination = href.get('href').split('=')
    return int(paggination[-1])
def parse(html):
    soup = BeautifulSoup(html,'lxml')
    table = soup.find('div',class_='announces_block')
    projects = []
    for row in table.find_all('tr')[2:]:
        cols = row.find_all('td')
        projects.append({
            'Date': cols[0].div.get_text().strip(),
            'Announces': cols[0].a.get_text().strip(),
        })
    for project in projects:
        return projects
def main():
    page_count = get_page_count(get_html(BASE_URL))
    print('всего найдено страниц %d'% page_count)
    projects = []
#обрабатываем каждую страницу
    for page in range (1, page_count):
        print ('Парсинг %d%%'%(page/page_count*100))
        projects.extend(parse(get_html(BASE_URL + '?page=%d' % page)))
    for project in projects:
        print(project)
if __name__=='__main__':
    main()
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.05.2017, 23:37
Ответы с готовыми решениями:

Ошибка в парсере сайта
Здравствуйте! у меня есть большой вопрос!!! Суть: на VisualStudio2015 написал код, он...

Получить содержимое страниц сайта с CefSharp в цикле
Здравствуйте. Есть набор страниц сайта. Нужно с них получить весь html. С помощью простых...

Ошибка в цикле обработки сообщений
Здравствуйте! Не очень давно начал изучать делфи. Вчера наткнулся на интересную книжку. В ней...

Ошибка в парсере
Вот код: #!/usr/bin/env python3 import time from urllib.request import urlopen from...

ошибка в парсере
Здравствуйте уважаемые php гуру ! Уже 2 месяца пытаюсь понять что не так в парсере .... Парсер не...

2
298 / 256 / 57
Регистрация: 11.06.2012
Сообщений: 1,557
29.05.2017, 08:19 2
У вас в BASE_URL жестко задана первая страница + в строке 33 должно быть
Python
1
projects.extend(parse(get_html(BASE_URL + '&page=%d' % page)))
1
0 / 0 / 0
Регистрация: 19.02.2015
Сообщений: 10
29.05.2017, 21:02  [ТС] 3
Добавлено через 2 минуты
Огромное спасибо, два вечера смотрел и не мог понять в чем ошибка ))
0
29.05.2017, 21:02
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.05.2017, 21:02
Помогаю со студенческими работами здесь

Ошибка в парсере
Добрый день, есть парсер, все работает отлично. Надо вытащить ссылку "/news/issue/2017-07-28" из...

Ошибка в парсере формулы
Здравствуйте! Помогите понять, где ошибка, пожалуйста... Пишу обозреватель дерева парсера...

На одной из страниц сайта вылезает вот такая ошибка. Как исправить?
На одной из страниц сайте вылезает вот такая ошибка. Как исправить? Код ошибки: if($_SERVER ===...

Ошибка в парсере html на второй итерации
Добрый день! Пытаюсь сделать парсер. Для начала делаю два POST запроса, далее GET запрос. После...

Ошибка при парсере (The specified path, file name, or both are too long.)
Всем добрый вечер. Помогите пожалуйста. Нужно спарсить рисунок $cimg = curl_init ();...

Ошибка кодировки при парсере веб страницы, содержащей кирилицу
Привет. Пишу свой первый парсер. Проблема в том, что часть адреса страницы содержит...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru