Html抓取站点加载错误的Jsoup Java
我试图运行一个脚本来从一个站点获取信息,但是当我将实际的站点与该站点进行比较时,我的程序显示它是不同的 缺少的一些例子就是开始!doctype和公司信息 我不确定javascript是否是问题的一部分,我尝试关闭它,但它仍然有效,但我也注意到其中有很多javascript;该网站无需登录。也许是饼干?(我对饼干知之甚少) 以上是我使用的代码 你知道为什么它不能像我的浏览器那样加载我的页面吗?有一次我让它工作,但我不小心把它弄坏了 如果这个解决方案不是从网站获取信息的合理解决方案,您有什么建议吗 我做了更多的工作,发现它适用于,但如果我添加suffex字符串/mb_43_E7_24/manufacturing/minnesota.php,它就不适用了 suffex是否也参与其中Html抓取站点加载错误的Jsoup Java,java,javascript,html,jsoup,Java,Javascript,Html,Jsoup,我试图运行一个脚本来从一个站点获取信息,但是当我将实际的站点与该站点进行比较时,我的程序显示它是不同的 缺少的一些例子就是开始!doctype和公司信息 我不确定javascript是否是问题的一部分,我尝试关闭它,但它仍然有效,但我也注意到其中有很多javascript;该网站无需登录。也许是饼干?(我对饼干知之甚少) 以上是我使用的代码 你知道为什么它不能像我的浏览器那样加载我的页面吗?有一次我让它工作,但我不小心把它弄坏了 如果这个解决方案不是从网站获取信息的合理解决方案,您有什么建议吗
或者可能是网站因为太多请求而暂时禁止我?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);
}
}