0
我正在嘗試製作一個java應用程序,它可以取消網站上的信息,並且我做了一些Google搜索,並管理了非常簡單的刮板,但還不夠。 看來我的刮刀並沒有在這個網站上刪除一些信息,特別是我想要報廢的部分。 使用Jsoup Java網頁抓取
1.
Elements links = htmlDocument.select("a");
for (Element link : links) {
this.links.add(link.attr("href"));
}
2.
Elements linksOnPage = htmlDocument.select("a[href]");
System.out.println("Found (" + linksOnPage.size() + ") links");
for(Element link : linksOnPage)
{
this.links.add(link.absUrl("href"));
}
我都試過代碼,但我不能找到的元素對象鏈接的任何地方。 我相信,我想要的信息是搜索的結果,所以當我的程序連接到該網址時,該信息就消失了。我該如何解決這個問題?每當它開始時,我都想要一個程序,並刪除搜索結果。
所以我的問題是,
1.How我放棄的是鏈接到我的代碼的元素對象?我究竟做錯了什麼?
2.是否有任何方法選擇該鏈接並僅進入該鏈接(並非所有超鏈接)?
final Document doc = Jsoup.connect("http://www.work.go.kr/empInfo/empInfoSrch/list/dtlEmpSrchList.do?pageIndex=2&pageUnit=10&len=0&tot=0&relYn=N&totalEmpCount=0&jobsCount=0&mainSubYn=N®ion=41000&lastIndex=1&siteClcd=all&firstIndex=1&pageSize=10&recordCountPerPage=10&rowNo=0&softMatchingPossibleYn=N&benefitSrchAndOr=O&keyword=CAD&charSet=EUC-KR&startPos=0&collectionName=tb_workinfo&softMatchingMinRate=+66&softMatchingMaxRate=100&empTpGbcd=1&onlyTitleSrchYn=N&onlyContentSrchYn=N&serialversionuid=3990642507954558837&resultCnt=10&sortOrderBy=DESC&sortField=DATE").userAgent(USER_AGENT).get();
try
{
Connection connection = Jsoup.connect(url).userAgent(USER_AGENT);
Document htmlDocument = connection.get();
this.htmlDocument = htmlDocument;
String qqq=htmlDocument.toString();
System.out.println(qqq);
if(connection.response().statusCode() == 200) // 200 is the HTTP OK status code
// indicating that everything is great.
{
System.out.println("\n**Visiting** Received web page at " + url);
}
if(!connection.response().contentType().contains("text/html"))
{
System.out.println("**Failure** Retrieved something other than HTML");
return false;
}
Elements linksOnPage = htmlDocument.select("a[href]");
System.out.println("Found (" + linksOnPage.size() + ") links");
for(Element link : linksOnPage)
{
this.links.add(link.absUrl("href"));
System.out.println(link.absUrl("href"));
}
return true;
}
catch(IOException ioe)
{
// We were not successful in our HTTP request
return false;
}
這是我用於抓取的整個代碼。 此代碼我正在使用from this site.
也許這個鏈接是用Javascript生成的嗎?試試這個http://stackoverflow.com/documentation/jsoup/4632/parsing-javascript-generated-pages#t=201702071004321608713 – Tim
我發現在我的代碼中,當我嘗試連接到顯示某些搜索結果的網頁時,網頁響應空結果,而在瀏覽器(鉻)顯示正確的結果(即使我使用相同的網址)。我打印出文檔的文本,並在搜索結果的部分顯示「無法找到您請求的頁面」。所以..有人可以幫助嗎? – Hoon
您是否嘗試在連接到URL時設置用戶代理? http://stackoverflow.com/questions/10187603/useragent-in-jsoup – Tim