java爬取button_学习使用Java的webmagic框架爬取网页内容
(一)使用前的配置:
2,(1)添加依賴:
us.codecraft
webmagic-core
0.7.3
us.codecraft
webmagic-extension
0.7.3
us.codecraft
webmagic-selenium
0.7.3
(2)從GitHub官網下載webmagic的壓縮包(https://codeload.github.com/code4craft/webmagic/zip/master),將webmagic-core使用Module from Existing Source..導入項目中
(3)在resources中添加資源文件log4j.properties中添加
# Set root logger level to DEBUG and its only appender to A1.
log4j.rootLogger=INFO, A1
# A1is setto be a ConsoleAppender.
log4j.appender.A1=org.apache.log4j.ConsoleAppender
# A1 uses PatternLayout.
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%c]-[%p] %m%n
(二)寫程序爬蟲:
抽取元素:
1,page使用css選擇器
2,page使用XPath
3,使用正則表達式
regex(“正則表達式”)
獲取元素:
設置爬蟲屬性:site
Scheduler組件:
1,對抓取的url保存到隊列
2,對抓取的url去重
(三)使用htmlunit模擬點擊https://www.bilibili.com/video/av62605696;官方文檔:http://htmlunit.sourceforge.net/apidocs/
htmlunit模擬js運行
1,獲取文本框和按鈕,設置文本框的值,然后使用按鈕的click方法提交獲得新的頁面
例子:
packagecom.open1111;importjava.io.IOException;importjava.net.MalformedURLException;importcom.gargoylesoftware.htmlunit.BrowserVersion;importcom.gargoylesoftware.htmlunit.FailingHttpStatusCodeException;importcom.gargoylesoftware.htmlunit.WebClient;importcom.gargoylesoftware.htmlunit.html.HtmlForm;importcom.gargoylesoftware.htmlunit.html.HtmlPage;importcom.gargoylesoftware.htmlunit.html.HtmlSubmitInput;importcom.gargoylesoftware.htmlunit.html.HtmlTextInput;public classHtmlUnitTest5 {public static voidmain(String[] args) {
WebClient webClient=new WebClient(BrowserVersion.FIREFOX_52); //實例化Web客戶端
try{
HtmlPage page=webClient.getPage("http://blog.java1234.com/index.html"); //解析獲取頁面
HtmlForm form=page.getFormByName("myform"); //得到搜索Form
HtmlTextInput textField=form.getInputByName("q"); //獲取查詢文本框
HtmlSubmitInput button=form.getInputByName("submitButton"); //獲取提交按鈕
textField.setValueAttribute("java"); //文本框“填入”數據
HtmlPage page2=button.click(); //模擬點擊
System.out.println(page2.asXml());
}catch(FailingHttpStatusCodeException e) {//TODO Auto-generated catch block
e.printStackTrace();
}catch(MalformedURLException e) {//TODO Auto-generated catch block
e.printStackTrace();
}catch(IOException e) {//TODO Auto-generated catch block
e.printStackTrace();
}finally{
webClient.close();//關閉客戶端,釋放內存
}
}
}
總結
以上是生活随笔為你收集整理的java爬取button_学习使用Java的webmagic框架爬取网页内容的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php xampp bug,PHP网站访
- 下一篇: 以下哪个不是有效的java变量名,Jav