मैं एक वेबस्क्रैपर बना रहा हूं जहां मैं कई पृष्ठों और प्रति पृष्ठ 20 आइटम के माध्यम से लूप करता हूं।

क्या मैं इसे वापस कर सकता हूं या क्या मुझे इको का उपयोग करना चाहिए? मैं अभी इको का उपयोग करता हूं लेकिन प्रति फ़ाइल आउटपुट पर अधिक नियंत्रण रखने के लिए स्विच करना चाहता हूं (इस फ़ंक्शन का उपयोग एकाधिक पृष्ठों में)।

function function1(){
    $link = $url;
    $url_items = $url2;
    for($pageNr=1; $pageNr<11; $pageNr++){
        $client = new \GuzzleHttp\Client(['base_uri' => $link]);
        $response = $client->request('GET', '/zoeken', [
            'query' => [
                'page' => $pageNr
            ]
        ]);
        if($response->getStatusCode() === 200){
            echo "Pagina: " . $pageNr . "<br/>";
            for($item = 1; $item <=20; $item++){
                $url = $url . "?" . $pageNr;
                $html = file_get_html($url);
                if(!empty($html)){
                    $content = $html->find("#resultitem-$item", 0)->find('.item-description2', 0)->find('.title', 0)->find('a', 0)->plaintext;
                    $content_url = $html->find("#resultitem-$item", 0)->find('.item-description2', 0)->find('.title', 0)->find('a', 0)->getAttribute('href', 0);
                    if(!empty($content)){
                        echo $item . ". <a href='" . $url_items . $content_url .  "'>" . $content ."</a><br/>";
                    }
                }
            }
        }
        sleep(2);
    }
}

मैं एक लिंक वापस प्रतिध्वनित कर रहा हूं, लेकिन मुझे केवल मान चाहिए ताकि मैं इसे अपने अन्य पृष्ठों में नियंत्रित कर सकूं।

मैं $content और $content_url वापस करना चाहता हूं, मैं इसे वापस करने के लिए कैसे बदल सकता हूं?

0
Zegert 24 सितंबर 2020, 15:14

1 उत्तर

सबसे बढ़िया उत्तर

एक सरणी बनाएं और फिर उसे वापस कर दें।

आपके मामले में यहाँ एक उदाहरण है:

function function1(){
    $link = $url;
    $url_items = $url2;
    $dataArr = array();
    for($pageNr=1; $pageNr<11; $pageNr++){
        $client = new \GuzzleHttp\Client(['base_uri' => $link]);
        $response = $client->request('GET', '/zoeken', [
            'query' => [
                'page' => $pageNr
            ]
        ]);
        if($response->getStatusCode() === 200){
            $data['pageNo'] = $pageNr;
            for($item = 1; $item <=20; $item++){
                $url = $url . "?" . $pageNr;
                $html = file_get_html($url);
                if(!empty($html)){
                    $content = $html->find("#resultitem-$item", 0)->find('.item-description2', 0)->find('.title', 0)->find('a', 0)->plaintext;
                    $content_url = $html->find("#resultitem-$item", 0)->find('.item-description2', 0)->find('.title', 0)->find('a', 0)->getAttribute('href', 0);
                    if(!empty($content)){
                        $data['content']        = $content;
                        $data['content_url']    = $content_url;
                        array_push($dataArr,$data);
                    }
                }
            }
        }
        sleep(2);
    }
    return $dataArr;
}
0
jrswgtr 24 सितंबर 2020, 12:24