|
| Дата |
|
USD/RUB | 93.4409 | BTC/USD | 63842.1299 |
|
|
|
Скрипты, программы и технические решения Обсуждаем скрипты, программы и новые технологии. |
14.02.2013, 09:37
|
#1
|
Senior Member
Регистрация: 22.06.2008
Сообщений: 603
Бабло: $122240
|
Помогите со скриптом на php
Я даю ему урлы файлов на сервере, он открывает каждый, парсит строку которая начинается с DocumentRoot и сохраняет ее в файло, всё
Сори за грамматику в шапке, поздно заметил
|
|
|
14.02.2013, 12:01
|
#2
|
Senior Member
Регистрация: 19.01.2011
Сообщений: 326
Бабло: $48860
|
На python2.7:
PHP код:
#coding: utf8
import urllib2
INPUT_URL_FILE = 'path to file with urls'
OUTPUT_FILE = 'path to out file'
def main():
url_list = open(INPUT_URL_FILE).read().splitlines()
out_file = open(OUTPUT_FILE, 'w')
for url in url_list:
if url:
try:
body = urllib2.urlopen(url, timeout=15).read()
except:
pass
else:
for line in body:
if line.find('DocumentRoot') is not -1:
out_file.write(line.encode('utf8')+'\n')
out_file.close()
if __name__ == '__main__':
main()
Последний раз редактировалось MetroJazz; 14.02.2013 в 12:09.
|
|
|
14.02.2013, 12:27
|
#3
|
Senior Member
Регистрация: 22.06.2008
Сообщений: 603
Бабло: $122240
ТС -->
|
ТС
Цитата:
Сообщение от MetroJazz
На python2.7:
PHP код:
#coding: utf8
import urllib2
INPUT_URL_FILE = 'path to file with urls'
OUTPUT_FILE = 'path to out file'
def main():
url_list = open(INPUT_URL_FILE).read().splitlines()
out_file = open(OUTPUT_FILE, 'w')
for url in url_list:
if url:
try:
body = urllib2.urlopen(url, timeout=15).read()
except:
pass
else:
for line in body:
if line.find('DocumentRoot') is not -1:
out_file.write(line.encode('utf8')+'\n')
out_file.close()
if __name__ == '__main__':
main()
|
Спасибо, но что то не получилось у меня запустить этот скрипт
|
|
|
14.02.2013, 12:41
|
#4
|
Senior Member
Регистрация: 19.01.2011
Сообщений: 326
Бабло: $48860
|
Цитата:
Сообщение от dmjROV
Спасибо, но что то не получилось у меня запустить этот скрипт
|
А это выдало? Там где out_file.write - нужно добавить таб вначале, т.к. при копи-пасте убились пробелы.
Короче, вот это лучше попробуй. Должно работать.
http://dumpz.org/443337/
|
|
|
14.02.2013, 12:56
|
#5
|
Senior Member
Регистрация: 19.01.2011
Сообщений: 326
Бабло: $48860
|
Короче, вот это лучше попробуй. Должно работать:
http://dumpz.org/443337/
|
|
|
14.02.2013, 13:20
|
#6
|
Senior Member
Регистрация: 22.06.2008
Сообщений: 603
Бабло: $122240
ТС -->
|
ТС
Цитата:
Сообщение от MetroJazz
|
Eще раз спасибо тебе! Но именно под мои нужды нужен php скрипт.
|
|
|
14.02.2013, 18:41
|
#7
|
Senior Member
Регистрация: 22.06.2008
Сообщений: 603
Бабло: $122240
ТС -->
|
ТС
апну топик, еще актуально, задача то смешная, никто не хочет размяться?)))
|
|
|
14.02.2013, 19:00
|
#8
|
кодер
Регистрация: 21.01.2008
Сообщений: 315
Бабло: $69585
|
Код:
<pre>
<?php
$urls_file = file('urls.txt');
error_reporting(E_ALL);
set_time_limit(900);
foreach ($urls_file as $url)
{
$url = trim($url);
if (empty($url)) {continue;}
$html = file_get_contents($url);
if (preg_match('!DocumentRoot(.*?)\n!',$html,$res))
{
echo "$url - {$res[1]}\r\n";
file_put_contents('results.txt',$res[1]."\r\n",FILE_APPEND);
}
else
{
echo "err with $url\r\n";
}
}
echo "done!";
?>
</pre>
Не тестил
__________________
php скрипты от $25 Отзывы: 2013-2011, 2010, 2009. acя: 384 846 ноль два шесть
|
|
|
14.02.2013, 20:04
|
#9
|
Senior Member
Регистрация: 22.06.2008
Сообщений: 603
Бабло: $122240
ТС -->
|
ТС
Цитата:
Сообщение от oso
Код:
<pre>
<?php
$urls_file = file('urls.txt');
error_reporting(E_ALL);
set_time_limit(900);
foreach ($urls_file as $url)
{
$url = trim($url);
if (empty($url)) {continue;}
$html = file_get_contents($url);
if (preg_match('!DocumentRoot(.*?)\n!',$html,$res))
{
echo "$url - {$res[1]}\r\n";
file_put_contents('results.txt',$res[1]."\r\n",FILE_APPEND);
}
else
{
echo "err with $url\r\n";
}
}
echo "done!";
?>
</pre>
Не тестил
|
Спасибо, то что нужно!
|
|
|
14.02.2013, 23:16
|
#10
|
$400
Регистрация: 17.05.2009
Сообщений: 13,953
Бабло: $1895870
|
почему set_time_limit(900),
а не set_time_limit(0)?
|
|
|
|