如何从雅虎搜索中提取结果?

时间:2015-11-16 13:01:40

标签: php search web-scraping yahoo-api

我需要传递yahoo搜索检索到的所有结果,其中包含以下网址:

https://es.search.yahoo.com/search?p=madrid&fr=yfp-t-777

并像这样显示它们。

enter image description here

1 个答案:

答案 0 :(得分:1)

您可以使用Jsoup来从雅虎抓取数据 下面是使用Jsoup从您提供的URL解析yahoo搜索的所有结果的代码

public static void main(String[] args) throws IOException {
        String url = "https://es.search.yahoo.com/search?p=madrid&fr=yfp-t-777";
        while (true) {
            System.out.println("Getting data from " + url);
            Document doc = Jsoup.connect(url).timeout(10000).userAgent("Mozilla/5.0").get();
            Elements sections = doc.select("ol.searchCenterMiddle").first().select("div.options-toggle");
            if (sections.isEmpty()) {
                break;
            }
            for (Element section : sections) {
                try {
                    System.out.println(section.getElementsByTag("a").first().text());
                    System.out.println(section.getElementsByTag("span").first().text() + " " + section.select("a.tri").first().text());
                    System.out.println();
                } catch (Exception e) {
                }
            }
            url = doc.select("a.next[href]").attr("href");
        }
}