Не удалось запустить скрипт Python из PHP - PullRequest
0 голосов
/ 05 ноября 2019

Я использую библиотеку Python 'BS4' для webscraping и буду использовать php для отображения этого вывода на веб-странице.

Использование библиотеки bs4 для просмотра веб-страниц, и я пытаюсь запустить этот сценарий python без использования библиотеки python для веб-разработки, такой как django и flask. Я обнаружил, что есть ответы, использующие «Laravel», но я не мог понять это, так как я не знаком с «Laravel», поэтому я попробовал «shell_exec (« python Script_name.py »)», но я думаю, что что-то упустил. Файл python и файл php находятся в одной папке.

Код 1, который я пробовал

<?php 
$command = escapeshellcmd('WebScraperAmazon.py');
$output = shell_exec($command);
echo $output;
?>

Код 2, который я пробовал

<?php 
    shell_exec('python WebScraperAmazon.py');
?>

Этомой код на Python с именем "WebScraperAmazon.py"

from bs4 import BeautifulSoup
import requests
page_url = "https://www.amazon.in/GeForce-DirectX-192-Bit-Graphics-ZT-P10620A-10M/dp/B07L5FPY3C/ref=sr_1_1?keywords=gtx+1060&qid=1572277711&sr=8-1"
headers = {"User-Agent" : "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.70 Safari/537.36"}
page = requests.get(page_url, headers=headers)

soup = BeautifulSoup(page.content, 'html.parser')

#print(soup.prettify())
title = soup.find(id ="productTitle").get_text()
print(title.strip())

price = soup.find(id="priceblock_ourprice").get_text()
price = price[2:]
price = price.replace(',','')
converted_price = float(price)

print(converted_price)

Желаемый вывод - показать цену и название продукта, который был добавлен на веб-страницу.

ZOTAC GeForce GTX 1060 DirectX 12 6GB 192-Bit GDDR5X Graphics Card (ZT-P10620A-10M)
17400
...