Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html抓取站点加载错误的Jsoup Java_Java_Javascript_Html_Jsoup - Fatal编程技术网

Html抓取站点加载错误的Jsoup Java

Html抓取站点加载错误的Jsoup Java,java,javascript,html,jsoup,Java,Javascript,Html,Jsoup,我试图运行一个脚本来从一个站点获取信息,但是当我将实际的站点与该站点进行比较时,我的程序显示它是不同的 缺少的一些例子就是开始!doctype和公司信息 我不确定javascript是否是问题的一部分,我尝试关闭它,但它仍然有效,但我也注意到其中有很多javascript;该网站无需登录。也许是饼干?(我对饼干知之甚少) 以上是我使用的代码 你知道为什么它不能像我的浏览器那样加载我的页面吗?有一次我让它工作,但我不小心把它弄坏了 如果这个解决方案不是从网站获取信息的合理解决方案,您有什么建议吗

我试图运行一个脚本来从一个站点获取信息,但是当我将实际的站点与该站点进行比较时,我的程序显示它是不同的

缺少的一些例子就是开始!doctype和公司信息

我不确定javascript是否是问题的一部分,我尝试关闭它,但它仍然有效,但我也注意到其中有很多javascript;该网站无需登录。也许是饼干?(我对饼干知之甚少)

以上是我使用的代码

你知道为什么它不能像我的浏览器那样加载我的页面吗?有一次我让它工作,但我不小心把它弄坏了

如果这个解决方案不是从网站获取信息的合理解决方案,您有什么建议吗

我做了更多的工作,发现它适用于,但如果我添加suffex字符串/mb_43_E7_24/manufacturing/minnesota.php,它就不适用了

suffex是否也参与其中


或者可能是网站因为太多请求而暂时禁止我?

Jsoup不执行/呈现Javascript。HTMLUnit有一个无头浏览器,可以呈现整个页面并以字符串形式返回内容。硒也是有用的。Selenium拥有Firefox、Chrome、IE和HTMLUnit的网络驱动程序。我使用了下面的代码来执行Javascript并返回html。我发现这对于我想在评论部分使用Javascript的新闻网站很有用

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.htmlunit.HtmlUnitDriver;

public class Test{

  private WebDriver driver;
  private String output; 

  public Document getDocument(String input) {
    driver = new HTMLUnitDriver(true); //the param true turns on javascript.
    driver.get(input);
    output = driver.getPageSource();
    driver.quit();
    return Jsoup.parse(output);
  }
}

上面的代码应该足以开始…

它是否遵循301?你是否考虑使用相同的URL并避免它?你的浏览器是否发送了那个精确的用户代理?好像301意味着重定向?url也是网站带给你的最终目的地,这是否意味着它不是一个正向问题?这个网站几乎可以与任何版本一起工作,所以用户代理是否会起到重要作用?
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.htmlunit.HtmlUnitDriver;

public class Test{

  private WebDriver driver;
  private String output; 

  public Document getDocument(String input) {
    driver = new HTMLUnitDriver(true); //the param true turns on javascript.
    driver.get(input);
    output = driver.getPageSource();
    driver.quit();
    return Jsoup.parse(output);
  }
}