Сегодня для вас урок про начальный граббер и tkinter. Первый делом нам нужен софт идем за ним. 1.Aptana Studio тут 2.Python 3 верс качай тут Далее Создаем проект Название даем Graber. рис 1 подключаем Нас путь Питону рис ниже. Напишем первую тест прогу. сперва добавим библиотеку tkinter from tkinter import * from tkinter import ttk from tkinter import messagebox Программа просто выводит диалог с приветом Hello Anctichat. пример кода Code: from tkinter import * from tkinter import ttk from tkinter import messagebox messagebox.showinfo(message='Hello Anctichat') Перейдем к 2 программы которая в фраме выводит надпись Graber показывает кнопку и Call Frorum. при ее нажатие получаем прежний диалог. пример кода Code: from tkinter import * from tkinter import ttk from tkinter import messagebox def click(): messagebox.showinfo(message='Hello Anctichat') frame = Tk() frame.title("Graber") ttk.Button(frame, text="Call Frorum",width=20, command=click).grid(column=2, row=6, sticky=W) frame.mainloop() В программе под примером 3 мы можем получать значение полей и также устанавливать. пример кода Code: from tkinter import * from tkinter import ttk from tkinter import messagebox def click(): global name messagebox.showinfo(message=name.get()) name.set("Hello Anctichat") frame = Tk() frame.title("Graber") name= StringVar() name.set("Call Frorum") ttk.Button(frame, text="Click",width=20, command=click).grid(column=2, row=1, sticky=W) field= ttk.Entry(frame, width=20, textvariable=name).grid(column=2, row=2, sticky=(W, E)) frame.mainloop() Переходим с 4 примеру код грабера создаем форму добавляем элементы как ранние В обработчике событий получаем значение полей . в первом поле название адреса 2 пат терн рег выражение. сперва вызываем 1 фунц грабим текст с сайта. потом парсим ее наконец возвращаем результат. Разберем siteurl функцию Сперва устанавливаем заголовки пробуем запрос если удачно получаем данные если нет видим диалог. пример кода Code: ''' Created on Jan 29, 2013 @author: ^NSA^ Lesson Grabber ''' from tkinter import * from tkinter import ttk from tkinter import scrolledtext from tkinter import messagebox import re import urllib.request import urllib.error def unit(*args): global rezult pat = regpat.get() url = site.get() html= siteurl(url) str =parseData(html,pat) t.insert(END, str) def siteurl(url): opener = urllib.request.build_opener() opener.addheaders = [('User-agent', ' Mozilla/5.0 (Windows NT 6.1; WOW64; rv:18.0) Gecko/20100101 Firefox/18.0')] try: response = opener.open(url) html = response.read().decode('utf-8') return html except urllib.error.URLError as e: messagebox.showinfo(message='Can open url') return "" def clear(): t.get("1.0",END) t.delete("1.0",END) #need fix all def parseData(st,pat): reg =re.compile(pat,re.M) m = reg.search(st) if(m is not None): return str(m.groups()) else: return "cant search change pattern!" window = Tk() window.title("Lesson Grabber") site= StringVar() regpat = StringVar() regpat.set(r"(\s+.*)") site.set("http://one.lv") mainframe = ttk.Frame(window, padding=(5, 5, 12, 0)) hello = {"text":"sample"} mainframe.grid(column=0, row=0, sticky=(N, W, E, S)) mainframe.columnconfigure(0, weight=1) mainframe.rowconfigure(0, weight=15) ttk.Label(mainframe,text="Site url").grid(column=2, row=1, sticky=(W, E)) field= ttk.Entry(mainframe, width=20, textvariable=site) field.grid(column=2, row=2, sticky=(W, E)) ttk.Label(mainframe,text="Pattern Reg").grid(column=2, row=3, sticky=(W, E)) field2= ttk.Entry(mainframe, width=20, textvariable=regpat) field2.grid(column=2, row=5, sticky=(W, E)) ttk.Button(mainframe, text="Grab",width=20, command=unit).grid(column=2, row=6, sticky=W) ttk.Button(mainframe, text="Clear",width=20, command=clear).grid(column=2, row=8, sticky=W) scrol = Scrollbar(mainframe) t =Text(mainframe) t.grid(column=2, row=7, sticky=W) window.geometry("400x550") window.mainloop() Автор ^NSA^ 2013г. продолжение следует
Окай, я новичек в кодинге. Зачем мне этот софт? Что он делает? Не понимаю /*Далее проясняется, что эта замечательная программа превращает интерпретируемый язык в компилируемый, бодобно PHP Devel Studio говну.*/ Какую библиотеку? А она нафига? /*Она видимо содержит какие-то ф-ции, упрощающие работу с чем-то*/ Считайте кем хотите, но мой мозг счел данное предложение чересчур информативным и отказался обрабатывать инфу... Какие поля? Какие значения? Походу я в кодинге безнадёжен... Пойду-ка лучше порнуху посмотрю, а то было так много идей по написанию софта, но спасибо ТСу, что открыл мне глаза на всю сложность и непонятность в программировании... По поводу кода писать ничего не стану ибо он и так вопиет о том, что мечтает быть красифо отформатированным и видеть в себе комментарии. Тс, без обид, но тут 2 варианта: 1. Ты сам начинающих прогер и еще недостаточно компетентен для написания годного кода и тем более статей . 2. Ты Илитный и толстый быдлокодер, который решил завербовать в ряды быдла нивчем неповинных юзверей. /*Статья ни то что ничему не учит, а наоборот напрочь отбивает желание кодить*/
Я тебе открою правда можешь тока блокнот использовать без Aptana Studio. Python должен стоять и добавить переменные окружения Windows. тогда запуск через консоль python Graber.py