В PHP почему я не могу очистить эту страницу с помощью DomCrawler, чтобы получить текст css селекторов? - PullRequest
1 голос
/ 02 апреля 2020

Это работает на других страницах, включая домашнюю страницу этого сайта, но я не могу использовать его на каких-либо страницах, которые мне нужны, а именно на тех сайтах, которые они продают. Я пытаюсь узнать цену, стоимость доставки, название, описание и другие детали. Я использую symfony \ domcrawler \ crawler и symfony \ cssSelector, но он не будет работать со страницей, которую я пытаюсь очистить. Есть ли что-то еще, чем я не занимаюсь, или в чем проблема, которую я пробовал запросить и сделать, и это все еще не будет работать, я застрял. Здесь что-то происходит, я не знаю.

Страница, которую я копирую https://app.cjdropshipping.com/product-detail.html?id=189F56FD-0D65-42C7-88A6-093FA8D7ADB0&push_id=&fromType=

Текст, который я получаю chrome инструменты из селектора

    require "vendor/autoload.php";

    require "vendor/rmccue/requests/library/Requests.php";
    ///require "vendor/rmccue/requests/library/Requests";
    use Symfony\Component\DomCrawler\Crawler;
    use Symfony\Component\CssSelector\CssSelectorConverter;
    use Symfony\Component\CssSelector;

    $url = 'https://app.cjdropshipping.com/product-detail.html?id=189F56FD-0D65-42C7-88A6-093FA8D7ADB0&push_id=&fromType=';
    $headers = array('Content-Type' => 'application/json');
    $data = array('price' => '.pd-price-span1');
    $response = Requests::post($url, $headers, json_encode($data));
    //echo $response->p->text;

    $crawler = new Crawler($response->body);
    $filter = '#merch-price';
    $catsHTML = $crawler
                ->filter($filter)
                ->each(function (Crawler $node) {
                    return $node->html();
                });
    var_dump($catsHTML);
    //var_dump( $catsHTML);
    //var_dump($response->body);
...