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

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

Закрытая тема
Опции темы Опции просмотра
Старый 24.02.2015, 20:38   #1
I love this game
Fuck Yeah
 
Аватар для I love this game
 
Регистрация: 08.10.2009
Адрес: Ghetto
Сообщений: 2,656
Бабло: $1426989
Отправить сообщение для I love this game с помощью ICQ
Question Пару строк на perl или python?

Есть файл
source.txt со списком урлов
http://site.com/

и есть 3 запроса например:
zapros?id=1
zapros?id=2
zapros?id=3

В контенте выдается 1 строка по каждому запросу, нужно что бы прошелся по списку урлов, подставил запросы по очереди к каждому урл и сохранил все в файл в виде:

http://site.com/;контент из zapros?id=1;контент из zapros?id=2;контент из zapros?id=3

Скину на пиво 10$
I love this game вне форума  
Старый 24.02.2015, 21:16   #2
student
Senior Member
 
Аватар для student
 
Регистрация: 02.09.2013
Сообщений: 136
Бабло: $32850
По умолчанию

На пхп как-то так:
PHP код:
<?php
$urls 
file('source.txt');
$fp fopen('itog.txt''a');
$curl curl_init();
curl_setopt_array($curl, array(
    
CURLOPT_RETURNTRANSFER => true,
    
CURLOPT_ENCODING => 'gzip, deflate',
    
CURLOPT_HEADER => false,
    
CURLOPT_TIMEOUT => 10,
    
CURLOPT_CONNECTTIMEOUT => 10
));
foreach (
$urls as $url) {
    
$write $url;
    for (
$i 1$i 4$i++) {
        
curl_setopt($curlCURLOPT_URL$url."zapros?id=".$i);
        
$out curl_exec($curl);
        
$write $write ";" $out;
    }
    
fwrite($fp$write);
}
fclose($fp);
curl_close($curl);
__________________
Дешевые и мощные дедики: https://goo.gl/bQSpFe
student вне форума  
Старый 24.02.2015, 21:20   #3
I love this game
Fuck Yeah
 
Аватар для I love this game
 
Регистрация: 08.10.2009
Адрес: Ghetto
Сообщений: 2,656
Бабло: $1426989
ТС -->
Отправить сообщение для I love this game с помощью ICQ
автор темы ТС По умолчанию

Немного криво я описал задание, сорри. Не по id надо, а именно подставить запросы.
zapros1
zapros2
zapros3
I love this game вне форума  
Старый 24.02.2015, 21:21   #4
sliderxxx
Ебланнед
 
Регистрация: 20.08.2008
Сообщений: 1,069
Бабло: $153400
По умолчанию

PHP код:
import urllib2
sites 
open('source.txt''r')
queries = ['zapros?id=1''zapros?id=2''zapros?id=3']
output open("out.txt"'w')
for 
site in sites:
    
out site.strip()
    for 
query in queries:
        
res urllib2.urlopen(site.strip() + query.strip()).read()
        
out += ';' res
    output
.write(out "\n"
sliderxxx вне форума  
Старый 24.02.2015, 21:29   #5
I love this game
Fuck Yeah
 
Аватар для I love this game
 
Регистрация: 08.10.2009
Адрес: Ghetto
Сообщений: 2,656
Бабло: $1426989
ТС -->
Отправить сообщение для I love this game с помощью ICQ
автор темы ТС По умолчанию

Цитата:
Сообщение от sliderxxx Посмотреть сообщение
PHP код:
import urllib2
sites 
open('source.txt''r')
queries = ['zapros?id=1''zapros?id=2''zapros?id=3']
output open("out.txt"'w')
for 
site in sites:
    
out site.strip()
    for 
query in queries:
        
res urllib2.urlopen(site.strip() + query.strip()).read()
        
out += ';' res
    output
.write(out "\n"


Из первого урла вытащило, и все и выдало вот такую ошибку

Цитата:
C:\Documents and Settings\Admin>"C:\Documents and Settings\Admin\wpsql.py"
Traceback (most recent call last):
File "C:\Documents and Settings\Admin\wpsql.py", line 8, in <module>
res = urllib2.urlopen(site.strip() + query.strip()).read()
File "C:\Python27\lib\urllib2.py", line 126, in urlopen
return _opener.open(url, data, timeout)
File "C:\Python27\lib\urllib2.py", line 398, in open
response = meth(req, response)
File "C:\Python27\lib\urllib2.py", line 511, in http_response
'http', request, response, code, msg, hdrs)
File "C:\Python27\lib\urllib2.py", line 436, in error
return self._call_chain(*args)
File "C:\Python27\lib\urllib2.py", line 370, in _call_chain
result = func(*args)
File "C:\Python27\lib\urllib2.py", line 519, in http_error_default
raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
urllib2.HTTPError: HTTP Error 403: Forbidden
I love this game вне форума  
Старый 24.02.2015, 21:35   #6
sliderxxx
Ебланнед
 
Регистрация: 20.08.2008
Сообщений: 1,069
Бабло: $153400
По умолчанию

Проверки на ошибки нет. Тебе кинуло 403 ошибку (HTTP Error 403: Forbidden). Подразумевалось что все урлы валидные.
sliderxxx вне форума  
Старый 24.02.2015, 21:36   #7
I love this game
Fuck Yeah
 
Аватар для I love this game
 
Регистрация: 08.10.2009
Адрес: Ghetto
Сообщений: 2,656
Бабло: $1426989
ТС -->
Отправить сообщение для I love this game с помощью ICQ
автор темы ТС По умолчанию

Понял, разобрался уже. Пару урлов просто уберу из source и все, выдавало просто пустое значение на одном из сайтов. Спасибо, кидай кошель в ЛС
I love this game вне форума  
Старый 24.02.2015, 21:43   #8
sliderxxx
Ебланнед
 
Регистрация: 20.08.2008
Сообщений: 1,069
Бабло: $153400
По умолчанию

Ушел за пивом
sliderxxx вне форума  
Старый 24.02.2015, 21:45   #9
I love this game
Fuck Yeah
 
Аватар для I love this game
 
Регистрация: 08.10.2009
Адрес: Ghetto
Сообщений: 2,656
Бабло: $1426989
ТС -->
Отправить сообщение для I love this game с помощью ICQ
автор темы ТС По умолчанию

Цитата:
Сообщение от sliderxxx Посмотреть сообщение
Ушел за пивом
I love this game вне форума