Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 12, 2016 21:11:00

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

Автоматическое создание ссылок с переменной

Не могу сообразить как вернее назвать тему.
Помогите понять, как можно реализовать такое:
На странице есть поле для ввода текста.
В это поле ручками вставляется список цифр через пробел или перенос. Когда как.
Жмешь “Горшочек вари” и мне выдаются готовы ссылки на страницы.
Ссылки у меня вида: сайт.ру/папка/$переменная цифры/еще папка/мамка
Список цифр которые вставляются в поле должны вставляться в середину ссылки.
Много работаю в браузере. Цифры - это у нас номера заказов.
Сейчас немного времязатратно реализована возможность открыть нужную страницу с заказом, кучу действий сделать надо. особенно если этот список из 40-100 цифр.
Думаю что это делается просто, но нет знаний как сделать.

Офлайн

#2 Авг. 12, 2016 22:18:13

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

Автоматическое создание ссылок с переменной

Например браузер может открыть ссылку с командной строки.

 subprocess open as sp
bills=[1,2,3,4]
for i in bills:
    command = u"chrome.exe сайт.ру/папка/{0}/еще папка/мамка".format(i);
    sp.check_call( command,shell=1)



Отредактировано doza_and (Авг. 12, 2016 22:18:43)

Офлайн

#3 Авг. 12, 2016 22:38:32

terabayt
От: Киев
Зарегистрирован: 2011-11-26
Сообщения: 1099
Репутация: +  103  -
Профиль   Отправить e-mail  

Автоматическое создание ссылок с переменной

нужно понимать где и какие технологии лучше всего применить
пайтон здесь не нужен
ну совсем не нужен

вот простенький скрипт написан меньше чем за 5 минут

 <html><head><meta charset="utf-8"><title>from python.su</title></head><body>
<textarea id="t" style="width: 500px; height: 250px"></textarea>
<button onclick="go()">GO</button><div id="d"></div></body><script>
function go() {var t = document.getElementById("t").value.replace("-", " ").split(" ");
var div = document.getElementById('d');div.innerHTML = "";
for (i in t){if (t[i])
    var tt = "сайт.ру/папка/" + t[i] + "/еще папка/мамка";
div.innerHTML = div.innerHTML + '<a href="' + tt + '">' + tt + '</a></br>';}}</script></html>
скопируйте его в блокнот сохраните в файл с засширением
.html
и откройте обычным браузером



————————————————
-*- Simple is better than complex -*-

Отредактировано terabayt (Авг. 12, 2016 22:40:37)

Офлайн

#4 Авг. 13, 2016 04:22:11

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10016
Репутация: +  857  -
Профиль   Отправить e-mail  

Автоматическое создание ссылок с переменной

  
>>> s = '1 23 5 8'
>>> 
>>> base = 'a/b/{}/c/d'
>>> 
>>> list(map(base.format, s.split()))
['a/b/1/c/d', 'a/b/23/c/d', 'a/b/5/c/d', 'a/b/8/c/d']
>>>



Офлайн

#5 Авг. 13, 2016 11:53:50

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

Автоматическое создание ссылок с переменной

terabayt
пайтон здесь не нужен
ну совсем не нужен
Пайтон мне легче понять.
Я хотел на нем чтобы понять логику как это сделать и усовершенствовать скрипт для других подобных задач. Если Питоном это можно реализовать, то мне только на руку.
Спасибо, ваш вариант работает. Пока им пользуюсь)
Планируется так же этот скрипт - страницу на скрипт дать помошникам, чтобы тоже упрощали себе задачу.

Отредактировано JivoyRoman (Авг. 13, 2016 11:55:56)

Офлайн

#6 Авг. 13, 2016 11:56:43

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

Автоматическое создание ссылок с переменной

py.user.next
>>> s = ‘1 23 5 8’ >>> >>> base = ‘a/b/{}/c/d’ >>> >>> list(map(base.format, s.split()))
Спасибо, но это не понял

Офлайн

#7 Авг. 13, 2016 12:14:05

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10016
Репутация: +  857  -
Профиль   Отправить e-mail  

Автоматическое создание ссылок с переменной

  
>>> def make_urls(urlfmt, numbers):
...     return map(urlfmt.format, numbers)
... 
>>> list(make_urls('http://www.site.com/dir{}/file.html', [10, 20, 30, 40]))
['http://www.site.com/dir10/file.html', 'http://www.site.com/dir20/file.html', 'http://www.site.com/dir30/file.html', 'http://www.site.com/dir40/file.html']
>>> 
>>> list(make_urls('http://www.site.com/dir/{}/file.html', [11, 22, 33, 44]))
['http://www.site.com/dir/11/file.html', 'http://www.site.com/dir/22/file.html', 'http://www.site.com/dir/33/file.html', 'http://www.site.com/dir/44/file.html']
>>> 



Отредактировано py.user.next (Авг. 13, 2016 12:16:19)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version