Форум успешных вебмастеров - GoFuckBiz.com

  Форум успешных вебмастеров - GoFuckBiz.com > Разное > Объявления о покупке/продаже товаров и услуг
Дата
USD/RUB58.7570
BTC/USD0.0000
Объявления о покупке/продаже товаров и услуг Также в этом разделе следует размещать и предложения о сотрудничестве.

Закрытая тема
Опции темы Опции просмотра
Старый 22.11.2013, 16:58   #1
BCKwhp
Юниор
 
Регистрация: 25.10.2013
Сообщений: 4
Бабло: $2480
По умолчанию Бесплатно сделаю простой скрипт на Python

Бесплатно сделаю простой скрипт на Python.

В рамках продолжения своего обучения я хочу выполнить несколько простых заданий по программированию. К примеру, скрипт для обработки текстовых файлов со ссылками или что-то подобное.

Навыки
Python 2/3. Конкретные библиотеки, кроме стандартных, в процессе изучения.
BCKwhp вне форума  
Старый 22.11.2013, 19:17   #2
masolit
Senior Member
 
Аватар для masolit
 
Регистрация: 18.08.2007
Сообщений: 1,105
Бабло: $195515
По умолчанию

асинхронный чекер контента, берем файл со списком урлов и асинхронно по ним идем и проверяем полученный html код на наличие определенного контента, чтобы можно было выбирать количетво потоков с возможностья выставить собственные хеадеры, с сохранием результата в файл, урлов может быть более ляма. на python 3.3
masolit вне форума  
Старый 22.11.2013, 19:26   #3
rushter
Senior Member
 
Регистрация: 28.11.2009
Сообщений: 1,804
Бабло: $299365
По умолчанию


Теперь понятно как ты бесплатно помогаешь .
rushter вне форума  
Старый 22.11.2013, 19:37   #4
masolit
Senior Member
 
Аватар для masolit
 
Регистрация: 18.08.2007
Сообщений: 1,105
Бабло: $195515
По умолчанию

Цитата:
Сообщение от rushter Посмотреть сообщение

Теперь понятно как ты бесплатно помогаешь .
ну тем кому делал могут сказать ни копейки не брал, хотя предлагают ну и берусь далеко не за все ибо то что интерестно и не требует много времени )
а для ТС тестовое задание интересно если справится ) я такие штуки пишу с закрытыми глазами )

ps: не давно получил сертификат красненький )

Последний раз редактировалось masolit; 22.11.2013 в 19:46.
masolit вне форума  
Старый 22.11.2013, 19:59   #5
AlexK
Продаю интернет
 
Аватар для AlexK
 
Регистрация: 01.11.2011
Сообщений: 16
Бабло: $6945
По умолчанию

Offtopic
AlexK вне форума  
Старый 22.11.2013, 20:02   #6
Matt Cutts
Senior Member
 
Регистрация: 24.09.2009
Сообщений: 727
Бабло: $94100
Отправить сообщение для Matt Cutts с помощью Skype™
По умолчанию

Цитата:
Сообщение от BCKwhp Посмотреть сообщение
Бесплатно сделаю простой скрипт на Python.

В рамках продолжения своего обучения я хочу выполнить несколько простых заданий по программированию. К примеру, скрипт для обработки текстовых файлов со ссылками или что-то подобное.

Навыки
Python 2/3. Конкретные библиотеки, кроме стандартных, в процессе изучения.
Привет. Напиши такой скрипт (думаю он многим будет полезен): автодобавление сабдоменов на сервере используя директиву Apache Module mod_vhost_alias. На входе:
1. Сам скрипт, ему передаем название головного домена и имя текстового конфига с названиями сабдоменов
2. Непосредственно текстовый конфиг-список будущих сабдоменов

Не забываем перезагружать апач.

На выходе: список готовых сабдоменов.

Offtopic
Matt Cutts вне форума  
Старый 22.11.2013, 20:06   #7
masolit
Senior Member
 
Аватар для masolit
 
Регистрация: 18.08.2007
Сообщений: 1,105
Бабло: $195515
По умолчанию

Цитата:
Сообщение от AlexK Посмотреть сообщение
Offtopic
Offtopic
masolit вне форума  
Старый 26.11.2013, 16:36   #8
BCKwhp
Юниор
 
Регистрация: 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, поэтому объемы я проверял на больших текстовых файлах и только потом добавил доступ в сеть.
BCKwhp вне форума  
Старый 26.11.2013, 17:09   #9
Strannic
Strannic.org
 
Аватар для Strannic
 
Регистрация: 15.12.2010
Сообщений: 1,855
Бабло: $461150
По умолчанию

Привет.
Буду благодарен за скрипт, который запишет в файл построчно генеренные символы до заданного знака.
Включая англ символы, точку, тире, запятую и цифры.
То есть задали к примеру до знака 3,
скрипт генерит строки перебирая все символы между собой
a
b
c
.
,
ab
ac
ab1
ab2
abc
abd
ww9
__________________
No cyber war and all wars... Strannic.org (с)
Strannic вне форума  
Старый 26.11.2013, 17:45   #10
masolit
Senior Member
 
Аватар для masolit
 
Регистрация: 18.08.2007
Сообщений: 1,105
Бабло: $195515
По умолчанию

Цитата:
Сообщение от BCKwhp Посмотреть сообщение
Благодарю за интересную задачу. Вот код решения: ...
прости друг но это

во первых код просто жесть, вперед читать про pep8
ну и советую почитать про различия асинхронной и многопоточной архитектуры.
masolit вне форума  
Закрытая тема



Опции темы
Опции просмотра