如何用Java获取HTML内容

时间:2012-09-29 20:46:20

标签: java html http web-crawler

不使用任何库函数(即不使用任何处理HTTP请求或cookie的函数)将网站的HTML内容提取到字符串中的最简单方法是什么? 我 不能 使用:

  

的OpenStream()   url.openConnection()

它基本上必须是处理http请求代码的非常原始的代码,哦,是的我正在构建一个爬虫,这是基本上爬过大学网站来计算给定域中的页数。

3 个答案:

答案 0 :(得分:1)

java.net.Socket是一个很好的起点。

你必须:

  1. 在端口80(或正在使用的任何端口)上打开到主机的套接字。
  2. 从套接字中获取InputStream和OutputStream。
  3. 向OutputStream发出GET命令:GET / path / to / resource HTTP / 1.1
  4. 从InputStream中读取响应数据,并通过http标头等解析...
  5. 您需要阅读HTTP协议(有人在另一个答案中提供了链接)。 HttpURLConnection为您完成所有这些,但您基本上必须使用低级套接字自己实现协议。

答案 1 :(得分:0)

要从网页中提取内容,以下网址会提供以下代码:

Get Web Page as String

在stackoverflow hereherehere上也回答了类似的问题。

我不知道为什么你不想使用任何库,JSOUP非常适合这样的东西,检索页面,处理和网络报废一般。

希望无论如何都有帮助。 干杯!

答案 2 :(得分:0)

使用YQL + jquery。 示例:http://developer.yahoo.com/yql/console/#h=select%20 *%20from%20html%20其中%20url%3D%22http%3A // finance.yahoo.com / q%3Fs%3Dyhoo%22%20%%0A%20%20%20%20% 20%20xpath%3D%27 // DIV [@ ID%3D%22yfi_headlines%22] / DIV [2] / UL / LI /一%27