java - 阅读 Yahoo! 时出错答案网站

标签 java web-scraping yahoo

我想从文件 (a.txt) 中搜索我的一些查询并在 Yahoo! 中搜索它们回答站点,最后将检索到的结果写入另一个文件(b.txt)

我的代码如下:

public static void run() throws IOException {
    Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress("XX.XX.XX.XX", 8080));
    LineNumberReader lnr = new LineNumberReader(new FileReader(new File("a.txt")));
    lnr.skip(Long.MAX_VALUE);
    int len = lnr.getLineNumber();
    lnr.close();
    for (int i = 0; i < len; i = i++) {
        String ll = Files.readAllLines(Paths.get("a.txt")).get(i);
        String l = URLEncoder.encode(ll, "UTF-8");
        String surl = "https://answers.yahoo.com/search/search_result?p=" + l + "&sort=rel";
        System.out.println("Search URL: " + surl);
        URL url = new URL(surl);
        InputStream in = url.openConnection(proxy).getInputStream();
        BufferedReader rd = new BufferedReader(new InputStreamReader(in));
        StringBuffer sb = new StringBuffer();
        String line;
        while ((line = rd.readLine()) != null) {
            PrintWriter pw = new PrintWriter(new FileOutputStream(new File("b.txt"), true));
            pw.println(line);
            pw.close();
        }
        rd.close();
    }

但是,我收到如下错误:

Exception in thread "main" java.io.FileNotFoundException: https://answers.search.yahoo.com/search?p=How+a+13+year+old+boy+can+lose+weight%3F&sort=rel
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1834)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1439)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:254)
at Yahoo.run(Yahoo.java:117)
at Main.main(Main.java:36)

但是当我在浏览器网址中使用搜索字符串时,所需的结果显示在 Yahoo! 中网站。

最佳答案

错误不在代码中。阅读这个问题: Searching in yahoo using java

您必须使用BOSS API从现在开始进行搜索。看这个example并从那里开始。您必须更改进行连接并从雅虎获取的代码。祝一切顺利。

关于java - 阅读 Yahoo! 时出错答案网站,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38400050/

相关文章:

java - 在 solr 6.4.2 上提交数据时遇到问题

java - JPA 与 Hibernate 5 : programmatically create EntityManagerFactory

html - 从vba中的下拉框中选择各种选项

testing - yql和开表开发如何搭建开发环境?如何在本地进行测试? (最佳实践)

excel vba http请求从雅虎财经下载数据

java - 更改 log4j2 中关键字的日志级别

java - try-with-resources 中的 ObjectOutputStream

Python BeautifulSoup 从 header 中提取数据

json - 学院/大学数据API

python - 如何在 Python 中使用 pandas 重命名 DataFrame 中的列