【发布时间】:2012-03-27 15:07:54
【问题描述】:
我需要使用 Java 从土耳其网页中获取 HTML。但是,我发现我的 Java 代码无法识别某些土耳其语字符。这是我正在使用的 Java 代码:
import java.io.BufferedInputStream;
import java.io.DataInputStream;
import java.io.InputStream;
import java.net.URL;
public class fetchHTML {
public static void main(String[] args) throws Exception {
URL urls = new URL("http://www.parkbravo.com.tr/pantolon.php");
InputStream is = urls.openStream();
DataInputStream dis = new DataInputStream(new BufferedInputStream(is));
String line;
while ((line = dis.readLine()) != null) {
System.out.println(line);
}
}
}
这段代码的前几行输出是:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" />
<html lang="tr" xmlns:og="http://opengraphprotocol.org/schema/" xmlns:fb="http://www.facebook.com/2008/fbml">
<head>
<title>ParkBravo - Ãrünler - Pantolonlar</title>
你可以看到标题不正确:Ãrünler应该是Ürünler
如果我使用以下 Python 代码获取 HTML:
import urllib2
url = 'http://www.parkbravo.com.tr/pantolon.php'
usock = urllib2.urlopen(url)
data = usock.read()
usock.close()
print data
那么输出是正确的。标题出来为:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" />
<html lang="tr" xmlns:og="http://opengraphprotocol.org/schema/" xmlns:fb="http://www.facebook.com/2008/fbml">
<head>
<title>ParkBravo - Ürünler - Pantolonlar</title>
但我希望能够使用 Java 获取 HTML。有谁知道我怎样才能让它工作?
谢谢!
【问题讨论】:
标签: java html html-parsing