Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 26, 2016 00:50:27

amaroc
Зарегистрирован: 2016-01-26
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Вывод urllib в textBrowser

Всем привет! Изучаю питон, в программировании полный новичек. Пытаюсь сделать парсер, с интерфейсом. Пока что начал с примитивных функций. Вот файлы моего проекта:

Интерфейс program.ui
http://pastebin.com/uTP4iB4A

Програма

import sys
import PyQt4
from PyQt4.QtCore import *
from PyQt4.QtGui import *
from PyQt4.uic import *
app = QApplication(sys.argv)
w = loadUi("program.ui")
import urllib
from urllib import request
x = urllib.request.urlopen('http://www.ya.ru')
z = (x.read(), str)
#print(z)
def buttonKlick():
	w.textBrowser.setText(z)
	
w.connect(w.pushButton, SIGNAL("clicked()"), buttonKlick)
w.show()
sys.exit(app.exec_())

Выдает ошибку:
Traceback (most recent call last):
  File "parser_0.04_simple_interface.py", line 18, in buttonKlick
    w.textBrowser.setText(z)
TypeError: QTextEdit.setText(str): argument 1 has unexpected type 'tuple'

Логика (моя) такова, я нажимаю кнопку “Парсим!” - вызывается переменная z она вызывает x.read и данные полученные урллибом перерабатываются в строку, и записываются в textBrowser однако этого не происходит. Если в программе прописать print(z) (раскоментировать) то шелл выдаст - весь исходный код яндекса без каких либо проблем, конечно там есть задержка, вот о ней я думал - может функция “смены” текста не ждет пока там “скачается\прочитается\переработается” текст ? Заранее спасибо!

Офлайн

#2 Янв. 26, 2016 04:43:58

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Вывод urllib в textBrowser

amaroc
я нажимаю кнопку “Парсим!” - вызывается переменная z она вызывает x.read
И с какого перепугу она что-то должна вызывать?
Вы, конечно, хотите, чтобы ваш код и ваши ошибки прокомментировали, но нельзя прокомментировать бред. Вот эта ваша строка
z = (x.read(), str)
это бред и галимотья. Начинайте с изучения элементарных принципов работы программ и основ синтаксиса питона.
Вы не понимаете, что такое функция, как и в какой момент она выполняется, не знаете, что такое кортеж, что значит переменная и т.д.
Не ждете же вы, что вам сейчас начнут пересказывать сотни страниц учебника, который вы не читали?



Отредактировано FishHook (Янв. 26, 2016 04:44:45)

Офлайн

#3 Янв. 26, 2016 08:26:20

amaroc
Зарегистрирован: 2016-01-26
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Вывод urllib в textBrowser

FishHook
Спасибо! Если бы я все это знал то и на форум бы не писал. Есть кто попроще кто может указать на ошибку в “галиматье”?

Офлайн

#4 Янв. 26, 2016 08:34:25

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

Вывод urllib в textBrowser

amaroc
Есть кто попроще кто может указать на ошибку в “галиматье”?
z таков что его нельзя использовать как текст в этом и ошибка.
Но это вольный пересказ того что вам сообщил интерпретатор, поэтому наверное вам не поможет.
Поддерживаю мнение что вам надо учебник почитать, иначе у вас через строчку такие затыки будут.



Офлайн

#5 Янв. 26, 2016 09:41:24

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2756
Репутация: +  184  -
Профиль   Отправить e-mail  

Вывод urllib в textBrowser

Последнее время я это очень часто повторяю, но видно предыдущии темы мало кто читает, по этому скажу ещё раз.
Qt это не tkinter функции в нём не прокатят! По этому прежде чем пытаться изучать PyQt нужно изучить ООП.



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Офлайн

#6 Янв. 26, 2016 23:26:43

amaroc
Зарегистрирован: 2016-01-26
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Вывод urllib в textBrowser

doza_and
Спасибо за подсказку, сам об этом думал. К сожалению нету времени читать учебники так как работаю по 12-13 часов в день 6 дней в неделю. Да и более приятен стиль изложения из видео уроков. К сожалению часто слышу про это сверхестественное ООП - но посмотрев и прочитав про него так и не понял всей сути, просто в голове не укладывается.
Касаемо костылей которые будут встречаться на каждом шагу я к ним готов, вот и на форум написал после 3 дневной войны с тем что не выводится текст, понять бы по во что его переформатировать знаю есть float str int а что еще?

Может я как то не правильно перевожу данные в str попробую найти другие примеры, еще был beutifulsoup может им пройтись по выводу urllib уфф ладно буду дальше ломать голову в свободное время )

Так же хочу добавить что отсылать читать учебники, и становиться профи это все хорошо, толко толку мало. Я вот уверен что еще сотни человек столкнутся с подобного рода задачей - вывести текст из переменной - наберут это в гугле зайдут в эту тему, а конкретного решения не увидят. В итоге вроде мотивы отвечающих были “позитивны” а толку дали 0 и даже потратили время людей которые зря зашли на страницу поиска Это как знаете заходишь на форум какойнить варкрафтовский и там человек спрашивает - как называется аддон который позволяет сканировать аукцион, а ему говорят (первые 2-3 коментатора) - а зачем тебе это надо, иди за гугли, играй без аддонов это круто!

Нашел решение - спасибо doza_and всего навсего стоило поменять z на str(z)
def buttonKlick():
	w.textBrowser.setText(str(z))

Отредактировано amaroc (Янв. 26, 2016 23:36:16)

Офлайн

#7 Янв. 27, 2016 04:55:50

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Вывод urllib в textBrowser

amaroc
ок, я воздержусь от любых комментариев по поводу вашего кода. Только факты. Я думаю Вы ошиблись - вам же надо отобразить в виджете только исходный html страницы?

def buttonKlick():
    w.textBrowser.setText(str(z[0]))



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#8 Янв. 27, 2016 08:04:07

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

Вывод urllib в textBrowser

amaroc
К сожалению нету времени читать учебники
amaroc
после 3 дневной войны с тем что не выводится текст
https://www.youtube.com/watch?v=qRUZsYsRkxs
Тут большинство занимают позицию грифа. Учебник за день можно прочитать. Или вы 3 дня по три минуты тратили? Хотя доля правды в ваших словах есть google + copy paste используются все чаще. Но есть основы…



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version