Estoy escribiendo un script PHP para raspar productos de sitios web externos. El sitio web externo usa JavaScript para generar listas de productos, por eso mi script PHP no funcionaba para raspar esos productos.
Entonces, busqué otra solución y encontré bibliotecas de JavaScript como FantasmaJS y CasperJS.
He hecho todo mi trabajo en mi servidor local pero cuando no puedo ejecutar mi código en Linux.
Esto es lo que probé a través de la terminal cPanel:
export PHANTOMJS_EXECUTABLE=/home/saadatas/public_html/wp-content/plugins/product-scraper/includes/phantomjs/bin/phantomjs
Y
/home/saadatas/public_html/wp-content/plugins/product-scraper/includes/casperjs/bin/casperjs /home/saadatas/public_html/wp-content/plugins/product-scraper/assets/js/ScrapeCategoryProducts.js
obtuve el resultado esperado pero cuando probé lo mismo en mi código PHP usando shell_exec
, no funcionó. Aquí está el código del archivo PHP.
shell_exec('export PHANTOMJS_EXECUTABLE=/home/saadatas/public_html/wp-content/plugins/product-scraper/includes/phantomjs/bin/phantomjs');
Y
exec('/home/saadatas/public_html/wp-content/plugins/product-scraper/includes/casperjs/bin/casperjs /home/saadatas/public_html/wp-content/plugins/product-scraper/assets/js/ScrapeCategoryProducts.js');
NOTA: También intenté agregar 2>&1 en el guión y verifiqué dos veces que el shell_exec
el comando está habilitado.
Además, intenté usar putenv pero no funcionó.
putenv("CASPERJS_EXECUTABLE=".SC_PLUGIN_DIR.'includes/casperjs/bin/casperjs');
Déjame si necesitas más detalles.
Cualquier ayuda será apreciada.
Gracias por adelantado.
.