public function testUrls() { $this->assertEquals(Generator::makeUrl($this->settings['engines'][0], $this->settings['keywords'][0], $this->settings['offsets'][0]), "http://www.google.com/search?q=foobar&start=0"); $this->assertEquals(Generator::makeUrl($this->settings['engines'][1], $this->settings['keywords'][1], $this->settings['offsets'][1]), "http://www.bing.com/search?q=foo&first=11"); $this->assertEquals(Generator::makeUrl($this->settings['engines'][2], $this->settings['keywords'][2], $this->settings['offsets'][2]), "https://search.yahoo.com/search?p=foo+baz+%3F+%5C%2F+%3C%3E&b=21"); $this->assertEquals(Generator::makeUrl($this->settings['engines'][3], $this->settings['keywords'][3], $this->settings['offsets'][3]), 'http://us.ask.com/web?q=%5Cn%5Ct%2F+%3Ca%3E&page=4'); $this->assertEquals(Generator::makeUrl($this->settings['engines'][0], $this->settings['keywords'][2], $this->settings['offsets'][4]), "http://www.google.com/search?q=foo+baz+%3F+%5C%2F+%3C%3E&start=40"); $this->assertEquals(Generator::makeUrl($this->settings['engines'][1], $this->settings['keywords'][2], $this->settings['offsets'][5]), "http://www.bing.com/search?q=foo+baz+%3F+%5C%2F+%3C%3E&first=51"); $this->assertEquals(Generator::makeUrl($this->settings['engines'][2], $this->settings['keywords'][3], $this->settings['offsets'][6]), "https://search.yahoo.com/search?p=%5Cn%5Ct%2F+%3Ca%3E&b=61"); }
/** * Map keywords array to urls ready to to be scraped. * @param int $pagesToScrape * @param string|array $keywords * @return array */ private function mapKeywordsToUrls($pagesToScrape, $keywords) { $urls = array(); if (is_string($keywords)) { $keywords = array($keywords); } for ($i = 0; $i < count($keywords); $i++) { $urls[$this->keywords[$i]] = array(); for ($j = 0; $j < $pagesToScrape; $j++) { $urls[$keywords[$i]][] = SerpUrlGenerator::makeUrl(self::runTimeClassName(), $keywords[$i], $j); } } return $urls; }