|
| Дата |
|
USD/RUB | 93.4409 | BTC/USD | 64732.6476 |
|
|
|
Объявления о покупке/продаже товаров и услуг Также в этом разделе следует размещать и предложения о сотрудничестве. |
22.11.2013, 16:58
|
#1
|
Юниор
Регистрация: 25.10.2013
Сообщений: 4
Бабло: $2480
|
Бесплатно сделаю простой скрипт на Python
Бесплатно сделаю простой скрипт на Python.
В рамках продолжения своего обучения я хочу выполнить несколько простых заданий по программированию. К примеру, скрипт для обработки текстовых файлов со ссылками или что-то подобное.
Навыки
Python 2/3. Конкретные библиотеки, кроме стандартных, в процессе изучения.
|
|
|
22.11.2013, 19:17
|
#2
|
Senior Member
Регистрация: 18.08.2007
Сообщений: 1,098
Бабло: $199375
|
асинхронный чекер контента, берем файл со списком урлов и асинхронно по ним идем и проверяем полученный html код на наличие определенного контента, чтобы можно было выбирать количетво потоков с возможностья выставить собственные хеадеры, с сохранием результата в файл, урлов может быть более ляма. на python 3.3
|
|
|
22.11.2013, 19:26
|
#3
|
Senior Member
Регистрация: 28.11.2009
Сообщений: 1,800
Бабло: $299365
|
Теперь понятно как ты бесплатно помогаешь .
|
|
|
22.11.2013, 19:37
|
#4
|
Senior Member
Регистрация: 18.08.2007
Сообщений: 1,098
Бабло: $199375
|
Цитата:
Сообщение от rushter
Теперь понятно как ты бесплатно помогаешь .
|
ну тем кому делал могут сказать ни копейки не брал, хотя предлагают ну и берусь далеко не за все ибо то что интерестно и не требует много времени )
а для ТС тестовое задание интересно если справится ) я такие штуки пишу с закрытыми глазами )
ps: не давно получил сертификат красненький )
Последний раз редактировалось masolit; 22.11.2013 в 19:46.
|
|
|
22.11.2013, 19:59
|
#5
|
Продаю интернет
Регистрация: 01.11.2011
Сообщений: 35
Бабло: $11985
|
Цитата:
Сообщение от masolit
ps: не давно получил сертификат красненький )
|
Из описания так и не понял, на что идет основной упор, на тестирование или же на изучение самого языка?
А задачка, да...первый класс вторая четверть =)
|
|
|
22.11.2013, 20:02
|
#6
|
Senior Member
Регистрация: 24.09.2009
Сообщений: 821
Бабло: $106455
|
Цитата:
Сообщение от BCKwhp
Бесплатно сделаю простой скрипт на Python.
В рамках продолжения своего обучения я хочу выполнить несколько простых заданий по программированию. К примеру, скрипт для обработки текстовых файлов со ссылками или что-то подобное.
Навыки
Python 2/3. Конкретные библиотеки, кроме стандартных, в процессе изучения.
|
Привет. Напиши такой скрипт (думаю он многим будет полезен): автодобавление сабдоменов на сервере используя директиву Apache Module mod_vhost_alias. На входе:
1. Сам скрипт, ему передаем название головного домена и имя текстового конфига с названиями сабдоменов
2. Непосредственно текстовый конфиг-список будущих сабдоменов
Не забываем перезагружать апач.
На выходе: список готовых сабдоменов.
Короче, такая же функция есть в ISP, только здесь нужно тупо батчем захерачить пачку сабов и всё. Без всяких панелей.
|
|
|
22.11.2013, 20:06
|
#7
|
Senior Member
Регистрация: 18.08.2007
Сообщений: 1,098
Бабло: $199375
|
Цитата:
Сообщение от AlexK
Из описания так и не понял, на что идет основной упор, на тестирование или же на изучение самого языка?
А задачка, да...первый класс вторая четверть =)
|
и на то и на другое, и язык и тестирование
Краткая программа курса по программированию на Python
основы программирования, узнаем что такое язык программирования
python ключевые концепции, в чем особенность этого языка программирования
базовые конструкции, необходимие конструкции для первых программ
конструкции языка, изучаем синтаксис либерального языка программирования
функции, модули и пакеты, а также их взаимосвязь
объектно ориентированный python (принципы, объекты, наследование, magic методы)
файлы, работа с текстом и регулярными выражениями (regular expressions)
работа с различными протоколами (email, ftp, http)
модульные тесты и xUnit фреймворки (unittest, py.test, nose)
автоматизация тестирования веб-приложений (selenium webdriver)
behaviour driven development (robot framework, behave, lettuce)
|
|
|
26.11.2013, 16:36
|
#8
|
Юниор
Регистрация: 25.10.2013
Сообщений: 4
Бабло: $2480
ТС -->
|
ТС
Благодарю за интересную задачу. Вот код решения:
Код:
#__unicode=utf-8
import threading
import queue
import time
import urllib.request
import urllib.error
HEADERS = {"User-Agent" : "Opera/9.64 (Windows NT 5.1; U; en) Presto/2.1.1",
"Accept" : "text/html, application/xml;q=0.9, application/xhtml+xml, image/ png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1",
"Accept-Language" : "ru,uk-UA;q=0.9,uk;q=0.8,en;q=0.7",
"Accept-Charset" : "iso-8859-1, utf-8, utf-16, *;q=0.1",
"Accept-Encoding" : "identity, *;q=0",
"Connection" : "Keep-Alive"}
MARKER='end_of_file'
'''Чтец'''
def readLINE():
global qIn
global MARKER
l=1
try:
with open("url.txt","r") as f:
req=" "
while req:
try:
req = f.readline()
while qIn.full():pass
l+=1
qIn.put(req)
except UnicodeDecodeError:
print("Unicode",l)
except:
print("error")
finally:
qIn.put(MARKER)
def get_page(target_link):
try:
page_request = urllib.request.Request(url=target_link, headers=HEADERS)
page = urllib.request.urlopen(url=page_request, timeout=10)
return page
except urllib.error.HTTPError as e:
print('сервер вернул ошибку: %s' % e.code, '!')
except urllib.error.URLError as e:
print('не могу скачать страницу: %s' % e.reason, '!')
except Exception as e:
print('ошибка: %s' % e, '!')
return False
'''Сеть'''
def checkURL(i):
global qIn
global qOut
global lck
global MARKER
while True:
if not qIn.empty():
lck.acquire()
target_link=qIn.get()
lck.release()
if target_link==MARKER:
qIn.put(MARKER)
qOut.put(MARKER)
return
#работа
st=(get_page(target_link))
if st:
ret=str(st.getcode())+" "+target_link
qOut.put(ret)
'''Писатель'''
def writeToFile(N):
global qOut
global MARKER
countEnd=0
if N<countEnd: return
with open("urls.txt","a") as f:
while True:
if not qOut.empty():
link=qOut.get()
if link==MARKER:
countEnd+=1
if countEnd>=N:
return
else:
f.write(link)
def main():
global qIn
global qOut
global lck
global threadsCount
sizeOfQueue=4
threadsCount=100
qIn=queue.Queue(maxsize=sizeOfQueue)
qOut=queue.Queue()
lck=threading.RLock()
tRead=threading.Thread(target=readLINE)
tRead.start()
for i in range(threadsCount):
func_=threading.Thread(target=checkURL, args=(i,))
func_.start()
tWrite=threading.Thread(target=writeToFile, args=(threadsCount,))
tWrite.start()
ct=0
while threading.active_count() >1:
time.sleep(1)
print("TH ",threading.active_count())
ct+=1
print(ct)
main()
У меня нет большого списка url, поэтому объемы я проверял на больших текстовых файлах и только потом добавил доступ в сеть.
|
|
|
26.11.2013, 17:09
|
#9
|
Strannic.org
Регистрация: 15.12.2010
Сообщений: 2,031
Бабло: $508160
|
Привет.
Буду благодарен за скрипт, который запишет в файл построчно генеренные символы до заданного знака.
Включая англ символы, точку, тире, запятую и цифры.
То есть задали к примеру до знака 3,
скрипт генерит строки перебирая все символы между собой
a
b
c
.
,
ab
ac
ab1
ab2
abc
abd
ww9
__________________
No cyber wars and all wars... ( Strannic)
|
|
|
26.11.2013, 17:45
|
#10
|
Senior Member
Регистрация: 18.08.2007
Сообщений: 1,098
Бабло: $199375
|
Цитата:
Сообщение от BCKwhp
Благодарю за интересную задачу. Вот код решения: ...
|
прости друг но это
во первых код просто жесть, вперед читать про pep8
ну и советую почитать про различия асинхронной и многопоточной архитектуры.
|
|
|
|