Minulla on muutaman rivin python scripti, joka hakee tv-ohjelmat sivulta tv-opas.com. Suoritan tuon scriptin sivuillani php exec:lla, mutta sivulla ei näy, kun muutama rivi scriptin outputista. Jos suoritan tuon scriptin päätteessä niin se näyttää kaikki ohjelmat niinkun pitääkin.
Php
<?php exec('python /opt/lampp/cgi-bin/ohjelmat.py', $output); foreach ($output as $program) echo "$program \n"; ?>
Python
# -*- coding: utf-8 -*- import urllib2 from BeautifulSoup import BeautifulSoup url = "http://www.tv-opas.com/" opener = urllib2.build_opener() opener.addheaders = [('User-agent', 'Mozilla/5.0')] html = opener.open(url).read() soup = BeautifulSoup(html) cells = soup.findAll(attrs={'class' : 'cell linecolor'}, limit=5) print "-----" for cell in cells: times = cell.findAll(attrs={'class' : 'textsmall'}) programs = cell.findAll(attrs={'class' : 'linksmall'}) x = len(times) for y in range(0, x): print times[y].string + " " + programs[y].string print "-----"
echo `python /opt/lampp/cgi-bin/ohjelmat.py`;
Tuohan tulostaa vain python /opt/lampp/cgi-bin/ohjelmat.py ?
Edit. Olis voinu kattoo vähän tarkemmin. Tämä siis tulostaa vain sen saman muutaman rivin, mitä tuo ekan postauksen phpkin.
Aihe on jo aika vanha, joten et voi enää vastata siihen.