我需要使用Java从土耳其网页抓取HTML。但是,我发现我的Java代码无法拾取某些土耳其字符。下面是我使用的Java代码:使用Java获取HTML - 某些字符未正确提取
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。有谁知道我如何才能使这个工作?
谢谢!
谢谢,这有助于 – Andrew 2012-03-10 15:37:01