gpt4 book ai didi

java - 使用 Java 获取页面源仅读取第一行

转载 作者:行者123 更新时间:2023-12-01 04:19:22 24 4
gpt4 key购买 nike

我一生中从未使用过java,但是我非常擅长php,我想获取网站的页面源。但是我正在使用Appspot(GAE)。其中file_get_contents和Curl不起作用。所以我想要通过java获取页面源代码。我学习了一些java基础知识并发现了下面的代码,但是下面的代码只获取外部页面的第一行。请指导我哪里错了。

<?php

function get($url){

import java.net.URL;
import java.io.BufferedReader;
import java.io.InputStreamReader;

$java_url = new URL($url);
$java_bufferreader = new BufferedReader(new InputStreamReader($java_url->openStream()));

while (($line = $java_bufferreader->readLine()) != null) {
$content .= $line;
}

return $content;
}


echo get("http://domain.com");

?>

例如,如果我抓取 stackoverflow.com,它仅返回以下代码

<!DOCTYPE html><html><head>        <title>Stack Overflow</title>    <link rel="shortcut icon" href="//cdn.sstatic.net/stackoverflow/img/favicon.ico">    <link rel="apple-touch-icon image_src" href="//cdn.sstatic.net/stackoverflow/img/apple-touch-icon.png">    <link rel="search" type="application/opensearchdescription+xml" title="Stack Overflow" href="/opensearch.xml">    <meta name="twitter:card" content="summary">    <meta name="twitter:domain" content="stackoverflow.com"/>    <meta name="og:type" content="website" />    <meta name="og:image" content="http://cdn.sstatic.net/stackoverflow/img/apple-touch-icon@2.png?v=fde65a5a78c6"/>    <meta name="og:title" content="Stack Overflow" />    <meta name="og:description" content="Q&amp;A for professional and enthusiast programmers" />    <meta name="og:url" content="http://stackoverflow.com/"/>

最佳答案

尝试使用Scanner类。

<?php

function get($url){

import java.net.URL;
import java.util.Scanner;

$java_url = new URL($url);
$java_scanner = new Scanner($java_url->openStream());

while (($line = $java_scanner->nextLine()) != null) {
$content .= $line;
}

return $content;
}


echo get("http://domain.com");

?>

如果这也不起作用,请使用空字符串初始化变量content,以防万一。 :)

关于java - 使用 Java 获取页面源仅读取第一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19110440/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com