0 / 0 / 0
Регистрация: 20.11.2015
Сообщений: 42

Парсер работает не корректно. Питон3

01.02.2016, 00:51. Показов 1045. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Если печатать значение "T", то парсер выдает все по одному значению, но как только хочу распечатать "projects", начинаются проблемы, выдаются значения одни и те же по много много раз, подскажите как это исправить
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
import urllib.request
from bs4 import BeautifulSoup
 
def get_html(url):
    response = urllib.request.urlopen(url)
    return response.read()
 
def parse(html):
    soup = BeautifulSoup(html)
    table = soup.find_all('div', class_='listning-boxes')
 
    projects = []
 
    for row in table:
        for x in row('a'):
            T = x.text.split()
            if T != []:
                print(T)
                Slovar = {'':T}
                projects.append({
                    'title': T,
                })
                #print(projects)
 
def main():
    parse(get_html('http://hurtgalanteria.pl/c/10/portfele-damskie.html'))
 
if __name__ == '__main__':
    main()
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
01.02.2016, 00:51
Ответы с готовыми решениями:

Парсер на php не совсем корректно работает
Написал парсер на php. но столкнулся с некоторыми сложностями. Есть сайт с которого я подтягивая ссылки разделов. По которым потом...

Парсер сайта корректно работает только сразу после запуска
Создал (собрал) прогу для парсинга сайта. Выводит числовое значение котировки usdjpy с графика с сайта...

Функция корректно работает в Delphi 7 и не неверно работает в RAD Studio 10
Переписываю свою программу с Delphi 7 под RAD Studio 10. Столкнулся с проблемой - функция в Delphi 7 возвращает правильное значение, в...

4
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
01.02.2016, 01:33
Все нормально работает. Из кода убрал только бессмысленный мусор
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
import urllib.request
from bs4 import BeautifulSoup
 
 
def get_html(url):
    response = urllib.request.urlopen(url)
    return response.read()
 
 
def parse(html):
    soup = BeautifulSoup(html)
    table = soup.find_all('div', class_='listning-boxes')
 
    projects = []
 
    for row in table:
        for x in row('a'):
            if x.text:
                projects.append({'title': x.text.split()})
    print(projects)
 
 
if __name__ == '__main__':
    parse(get_html('http://hurtgalanteria.pl/c/10/portfele-damskie.html'))
1
0 / 0 / 0
Регистрация: 20.11.2015
Сообщений: 42
01.02.2016, 02:10  [ТС]
alex925, Спасибо, не подскажите как вытащить ссылки 'a href="http...html'''?
0
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
01.02.2016, 02:33
Не знаю, смотри документацию. Я bs не юзаю.
0
0 / 0 / 0
Регистрация: 20.11.2015
Сообщений: 42
01.02.2016, 10:38  [ТС]
По задумке, парсер должен искать все ссылки в заданной таблице, выдает только одну.
Далее он должен использовать (допустим даже одну ссылку) и парсить информацию уже с др страницы.
Если вбивать ссылки из результата первого парсинга, то вторая часть работает, но если сохранить результат работы в переменную и попытаться использовать в качестве ссылки ее, то вылетает ошибка.
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
38
import urllib.request
from bs4 import BeautifulSoup
 
BASE_URL = 'http://hurtgalanteria.pl/c/10/portfele-damskie.html'
AUS_URL = 'http://hurtgalanteria.pl'
 
def get_html(url):
    response = urllib.request.urlopen(url)
    return response.read()
 
 
 
def parse1(html):
    soup = BeautifulSoup(html)
 
    table = soup.find_all('div', class_='listning-boxes')
 
 
    for row in table:
        for x in row('a'):
            iLL_URL = (x.attrs["href"])
    return iLL_URL
    global iLL_URL
 
 
def parse2(html):
    soup = BeautifulSoup(html)
    Name = soup.find_all('div', class_='pinfo-name')
    print(Name)
           
 
 
if __name__ == '__main__':
    parse1(get_html(BASE_URL))
    TO = repr((str(AUS_URL)) + str(iLL_URL))
    R = repr(TO)
    print(R)
    parse2(get_html(R))
Добавлено через 6 часов 18 минут
уже исправил как надо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.02.2016, 10:38
Помогаю со студенческими работами здесь

Игра работает корректно в Unity, но не работает после билда
Разрабатываю игру на Android. Решил сделать билд для проверки на телефоне. В Unity все скрипты работают корректно, но после билда, на...

Запрос работает корректно на английском, но не работает на русском
Здравствуйте, собственно в заголовке мой вопрос, у меня не работает запрос на русском но не работает на английском

Почему мой парсер работает на Windows но не работает на Linux?
У меня есть парсер. На windows 11 он работает абсолютно корректно, возвращает именно то, что нужно: import requests from bs4 import...

Apache+Ubuntu не работает/работает не корректно
Переустановил апачи иии оно не работает. Установка прошла без ошибок, но на старт, рестарт, стоп или запрос статуса никакой реакции....

Не работает модуль (работает не корректно)
Доброго времени суток! Проблема в следующем... На главном шаблоне модуль работает, но я сейчас делаю другой шаблон и в нем новые...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

Новые блоги и статьи
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru