【问题标题】:Java JSoup URL connectionJava JSoup URL 连接
【发布时间】:2017-07-19 05:42:27
【问题描述】:

我在网上搜索过,但找不到任何帮助。

我有一个类似这样的 URL

String url = "http://www.rightmove.co.uk/property-for-sale/find.html?searchType=SALE&locationIdentifier=REGION%5E904&insId=3&radius=10.0&minPrice=&maxPrice=500000&minBedrooms=&maxBedrooms=&displayPropertyType=&maxDaysSinceAdded=&_includeSSTC=on&sortByPriceDescending=&primaryDisplayPropertyType=&secondaryDisplayPropertyType=&oldDisplayPropertyType=&oldPrimaryDisplayPropertyType=&newHome=&auction=false"

我曾尝试使用URLencoder.encode(url,"UTF-8"),但没有奏效。有什么想法吗??

我正在使用以下 jsoup 连接来尝试抓取网页。

 Document doc = Jsoup.connect(url).userAgent("Mozilla/5.0 "
                + "(Windows NT 6.1)"
                + "AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 "
                + "Safari/537.36").timeout(14000).followRedirects(false).
                ignoreContentType(true).get();

任何帮助将不胜感激!

【问题讨论】:

  • “那没用” > 怎么回事?
  • 它给了我 >> org.jsoup.HttpStatusException:获取 URL 的 HTTP 错误。状态=400,我尝试了 https,我尝试缩短字符串并尝试将其粘贴到没有历史记录的浏览器窗口中
  • URL 已经被 urlencoded(REGION%5E904REGION^904)。也许您可以尝试使用非编码形式。如果JSoup 对您提供给他的 URL 进行编码可以解释问题,因为它会从 REGION%5E904 生成 REGION%255E904
  • URLencoder.encode 没有给你HttpStatusException。编程中的问题解决需要精确。将程序分解成可测试的部分。连接前输出网址,看看是否符合预期。
  • 使用在线解码器解码后的URL是rightmove.co.uk/property-for-sale/… ^ 904&insId = 3&半径= 10.0&minPrice =&maxPrice = 500000&minBedrooms =&maxBedrooms =&displayPropertyType =&maxDaysSinceAdded =&_ includeSSTC = ON&sortByPriceDescending =&primaryDisplayPropertyType =&secondaryDisplayPropertyType =&oldDisplayPropertyType =&oldPrimaryDisplayPropertyType =&newhome上=&auction=false

标签: java jsoup


【解决方案1】:

对于棘手的网址,我建议使用以下连接获取文本:

   String url = ""
   doc = Jsoup.parse(new URL(url).openStream(),  "ISO-8859-1", url);

【讨论】:

    猜你喜欢
    • 2019-04-14
    • 2015-06-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-08
    • 1970-01-01
    • 2013-04-10
    • 2022-01-20
    相关资源
    最近更新 更多