1

I have a python script for scraping with selenium. When i call my script with terminal like this

/usr/bin/python3 /home/scraping.py

i have no problem my scraping work

Went a try to call the same script with php is not working .

on my python script a have this

import sys
from selenium import webdriver

driver =webdriver.PhantomJS(executable_path='/usr/local/bin/phantomjs')
driver.set_window_size(1024, 768)
driver.get(url)
page = driver.page_source.encode("utf-8")

print(page)

when i delete this line

driver =webdriver.PhantomJS(executable_path='/usr/local/bin/phantomjs')
driver.set_window_size(1024, 768)
driver.get(url)
page = driver.page_source.encode("utf-8")

in i put juste print('test')

i this work

for my php file y tried

Running a Python script from PHP

Execute Python script from Php

How to call a Python Script from PHP?

call python from php

but nothing works

i change my permission file to chmod 777 scraping.py in tried to change group file for www-data i tried to put www-data to soduers file

in my php code i have tri this

 output = array(); 
exec("/usr/bin/python3 /home/scraping.py",$output);
 var_dump( $output); 

$command = escapeshellcmd('/usr/bin/python3 /home/scraping.py');
 $output = shell_exec($command);
 echo $output;

 ob_start(); 
passthru('/usr/bin/python3 /home/scraping.py'); 

$output =ob_get_clean()

EDIT

I have found my problem

The problem is the log file generate by phantomjs and and shebang to top in my code like this

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import sys
from selenium import webdriver

driver =webdriver.PhantomJS( service_log_path='/home/ghostdriver.log'executable_path='/usr/local/bin/phantomjs')
driver.set_window_size(1024, 768)
driver.get(url)
page = driver.page_source.encode("utf-8")

print(page)

and after change the permission of the ghostdriver.log for the www-data can read id you have a error again put the group www-data in the sudoers file with no passwd

1
  • Post your PHP code Commented Aug 21, 2017 at 7:04

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.