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

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

Закрытая тема
Опции темы Опции просмотра
Старый 02.04.2012, 19:57   #1
wizual
Member
 
Регистрация: 14.02.2009
Сообщений: 88
Бабло: $31595
По умолчанию удалить лишнии символы после домена

есть список
domain1.com/adkjaod
doomain2.com/213148j.html

как оставить только домены без страниц?
wizual вне форума  
Старый 02.04.2012, 20:16   #2
shoo
Member
 
Регистрация: 26.12.2011
Сообщений: 63
Бабло: $12170
По умолчанию

Если урлы у доменов имеют только один уровень вложенности, т.е.
Цитата:
domain.com/blabla
и нет таких
Цитата:
domain.com/blabla/blabla/blabla.html
то пойдет этот скрипт, python
PHP код:
fin open('links.txt','r')
with open('out.txt','w') as fout:
    for 
line in fin:
        
lst line.strip().split('/')[:-1]
        
fout.write('/'.join(lst)+'\n'
__________________
Скрипты / #jabber [email protected] #icq 6ноль767два477
shoo вне форума  
Старый 02.04.2012, 20:21   #3
Drg
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 4,100
Бабло: $611505
По умолчанию

php работает для всего и для domain.com/blabla/blabla/blabla.html
PHP код:
<?
$fp
=fopen("links.txt",'r');
$fp2=fopen("out.txt",'w');
while(!
feof($fp))
{
$str=preg_replace("!/(.*?)!siU",'',str_replace("http://",'',fgets($fp)));
fputs($fp2,$str."\n");
}
fclose($fp);
fclose($fp2);

?>
Drg вне форума  
Старый 02.04.2012, 20:24   #4
Ower
ё
 
Аватар для Ower
 
Регистрация: 26.10.2011
Сообщений: 1,490
Бабло: $300250
По умолчанию

если 1 раз сделать, в нотпаде делай замену "/" на "\t" и вставляй в excel - там автоматически на 2 столбика разделится. И всё, копируй первый столбик
Ower вне форума  
Старый 02.04.2012, 20:32   #5
shoo
Member
 
Регистрация: 26.12.2011
Сообщений: 63
Бабло: $12170
По умолчанию

Да, и правда 'http://' можно убрать. Тогда вариант тоже для всех урл
PHP код:
fin open('links.txt','r')
with open('out.txt','w') as fout:
    for 
line in fin:
        
dmn line.strip().replace('http://','').split('/')[0]
        
fout.write(dmn+'\n'
__________________
Скрипты / #jabber [email protected] #icq 6ноль767два477
shoo вне форума  
Старый 02.04.2012, 21:13   #6
Nikola_N
$
 
Регистрация: 05.04.2007
Сообщений: 564
Бабло: $86815
По умолчанию

можно еще в ворде преобразовать текст в таблицу. разделитель /
и потом скопировать первый столбик
Nikola_N вне форума  
Старый 02.04.2012, 21:15   #7
Ower
ё
 
Аватар для Ower
 
Регистрация: 26.10.2011
Сообщений: 1,490
Бабло: $300250
По умолчанию

Цитата:
Сообщение от Nikola_N Посмотреть сообщение
можно еще в ворде преобразовать текст в таблицу. разделитель /
и потом скопировать первый столбик
норм, спасибо, хороший хак) я через нотпад и эксель делаю , как описал
оффис вообще крутой софт
Ower вне форума  
Старый 02.04.2012, 21:23   #8
Syncmaster
$ $ $
 
Аватар для Syncmaster
 
Регистрация: 29.12.2007
Сообщений: 325
Бабло: $118140
По умолчанию

notepad ++ , заменить /(.*) на пустоту. выбрать рег. выражение.
__________________
Syncmaster вне форума  
Старый 02.04.2012, 21:32   #9
Shadefirst
Senior Member
 
Аватар для Shadefirst
 
Регистрация: 27.01.2011
Сообщений: 388
Бабло: $89607
По умолчанию

Цитата:
Сообщение от Syncmaster Посмотреть сообщение
notepad ++ , заменить /(.*) на пустоту. выбрать рег. выражение.
+1 за np++, только сначала убрать везде http://, если есть. А после манипуляций добавить обратно.
Shadefirst вне форума  
Старый 02.04.2012, 22:32   #10
masolit
Senior Member
 
Аватар для masolit
 
Регистрация: 18.08.2007
Сообщений: 1,105
Бабло: $195515
По умолчанию

позволю себе выложить свою версию на питоне
PHP код:
links_file open('links.txt')
out_file open('out.txt''a')

for 
line in links_file:
    
result line.strip().replace('http://''').split('/')
    
out_file.write('http://%s\n' result[0]) 
можно так если в файле домейны идут с http или https
PHP код:
from urlparse import urlparse

links_file 
open('links.txt')
out_file open('out.txt''a')

for 
line in links_file:
    
out_file.write('%s://%s\n' % (urlparse(line).schemeurlparse(line).netloc)) 

Последний раз редактировалось masolit; 02.04.2012 в 22:44.
masolit вне форума  
Закрытая тема



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