[英]Html scraping Site Loads Wrong Jsoup Java
我正在嘗試運行腳本以從網站中提取信息,但是,當我將實際網站與我的程序顯示的網站不同時,我會這樣做。
缺少的一些示例是開始!doctype和公司信息http://www.manta.com/mb_43_E7_24/manufacturing/minnesota
我不確定javascript是否是問題的一部分,我嘗試將其關閉並且仍然有效,但是我也注意到其中包含很多javascript; 該網站無需登錄。 也許是cookie?(我對cookie不太了解)
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具有無頭瀏覽器,該瀏覽器呈現整個頁面並以String形式返回內容。 硒也是有用的。 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);
}
}
上面的代碼應該足以開始...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.