Html抓取网站加载错误的J汤Java
Html scraping Site Loads Wrong Jsoup Java
我正试图运行一个脚本从网站中提取信息,但当我将实际网站与网站进行比较时,我的程序显示它不一样。
一些缺失的例子才是开始!doctype和公司信息http://www.manta.com/mb_43_E7_24/manufacturing/minnesota
我不确定javascript是否是问题的一部分,我试着关闭它,它仍然有效,但我也注意到其中有很多javascript;该网站不需要登录。也许是饼干?(我对饼干了解不多)
String keyword = "http://www.manta.com/mb_43_E7_24/manufacturing/minnesota.php";
Document doc = Jsoup.connect(keyword).referrer("http://www.google.com").userAgent("Mozilla/5.0 (Windows; U; WindowsNT 5.1; en-US; rv1.8.1.6) Gecko/20070725 Firefox/2.0.0.6").get();
System.out.Println(doc.toString());
以上是使用的代码
你知道为什么它不能像我的浏览器那样加载我的页面吗?有一次我让它工作,但我不小心把它弄坏了
如果这个解决方案不适合从网站上获取信息,你有什么建议吗?
我又做了一些工作,发现它对http://www.manta.com/但如果我添加后缀字符串/mb_43_E7_24/manufacturing/minnesota.php ,则不会
妇女参政权是否涉及其中?
或者可能是网站因为我的请求太多而暂时禁止了我?
Jsoup不执行/呈现Javascript。HTMLUnit有一个无头浏览器,它可以呈现整个页面并以字符串的形式返回内容。硒也是有用的。Selenium有适用于Firefox、Chrome、IE和HTMLUnit的WebDrivers。我已经使用下面的代码来执行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);
}
}
上面的代码应该足以开始。。。
相关文章:
- JSON分析错误:Java中AJAX、Javascript和Servlet的意外EOF
- 错误405:向Java控制器(Ajax)发送JSON时找不到POST方法
- java脚本的数学方程显示错误的答案
- JavaScript和Java WebSocket SSL连接错误
- 在JSON.parse Javascript中字符串化Java对象抛出错误
- Html抓取网站加载错误的J汤Java
- Java脚本函数错误
- 使用web服务Java-angular时出现错误404
- Java脚本,需要帮助查找我的错误
- java中的构建到过程构建器错误
- 错误管理器:从标准Java到Servlet
- java脚本错误对象没有'不支持此属性或方法
- Java脚本返回错误值
- 包装java.net.UnnknownHostException:文件:未知错误原因:文件:PTC thingworx服
- Java小程序——今天是不是一个错误的选择
- 解析格式错误的 json 字符串,该字符串周围没有双引号(Java 脚本)
- Java脚本错误-can't将未定义转换为对象
- DWR 报告转换器错误,将 null 从 Javascript 传递到 Java 类
- Java 错误:解析时到达文件末尾
- Java错误:org.apache.jasper.JasperException:无法为JSP编译类