webmagic 获取文本_学习使用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();//关闭客户端,释放内存
}
}
}
webmagic 获取文本_学习使用Java的webmagic框架爬取网页内容相关推荐
- python爬取知乎话题广场_学习python爬虫---爬虫实践:爬取B站排行榜2(爬取全部分类排行榜、利用pygal库作图)...
前面我们爬取了B站上全站的排行榜,详细见:魏勇:学习python爬虫---爬虫实践:爬取B站排行榜zhuanlan.zhihu.com 一.爬取全部分类排行榜 我们观察一下B站排行榜,那里还有番剧排 ...
- python爬取b站视频封面_学习笔记(4)[Python爬虫]:爬取B站搜索界面的所有视频的封面...
学习笔记(4)[Python爬虫]:爬取B站搜索界面的所有视频的封面 import os import requests import re import json from bs4 import B ...
- java爬取button_学习使用Java的webmagic框架爬取网页内容
(一)使用前的配置: 2,(1)添加依赖: us.codecraft webmagic-core 0.7.3 us.codecraft webmagic-extension 0.7.3 us.code ...
- 提取点位属性文本_手把手教你如何用Python爬取网站文本信息
提取网页源代码--Requests 工具包 在我们提取网络信息之前,我们必须将网页的源代码进行提取,Requests工具包现在可以说是最好用和最普及的静态网页爬虫工具,它是由大神Kenneth Rei ...
- python爬取网页文本_手把手教你如何用Python爬取网站文本信息
提取网页源代码--Requests 工具包 在我们提取网络信息之前,我们必须将网页的源代码进行提取,Requests工具包现在可以说是最好用和最普及的静态网页爬虫工具,它是由大神Kenneth Rei ...
- python抓取京东联盟优惠券_备战双十一,scrapy框架爬取京东优惠券信息
爬取流程分析 京东有点好就是有个领券中心,所有购物券都集中在一个页面,可以通过scrapy等爬虫框架很容易的爬取.其中,一个购物券部分的代码如下: ... ... ... ... 这段代码中 clas ...
- scrapy获取a标签的连接_python爬虫——基于scrapy框架爬取网易新闻内容
python爬虫--基于scrapy框架爬取网易新闻内容 1.需求[前期准备] 2.分析及代码实现(1)获取五大板块详情页url(2)解析每个板块(3)解析每个模块里的标题中详情页信息 点击此处,获取 ...
- java socket 获取网页源代码_通过java.net.Socket 类抓取网页内容
/** 文件名 : Firstsocket.java 描述 :通过 java.net.Socket 类访问一个web页面,并且返回结果 作者: 慈勤强 cqq1978@yeah.net 参考:http ...
- java 使用webmagic 爬虫框架爬取博客园数据
java 使用webmagic 爬虫框架爬取博客园数据存入数据库 学习记录 webmagic简介: WebMagic是一个简单灵活的Java爬虫框架.你可以快速开发出一个高效.易维护的爬虫. ht ...
最新文章
- HashSet中的add()方法( 四 )(详尽版)
- arthas使用示例:tt记录指定方法每次调用的入参和返回值
- 一篇文章搞懂数据仓库:数据仓库规范设计
- Java OOM异常原因及解决方案
- gdb调试多进程和多线程
- eclipse-4.4.2安装Groovy插件(其他版本eclipse可参考)
- 如何生成JDK帮助文档
- 象棋人工智能算法的C++实现(五)——人机博弈的高阶算法
- 【工具使用】git使用--将本地代码上传到icode代码库踩坑总结
- tolua unity 报错_Unity3D热更新技术点——ToLua(上)
- java图形界面的实验代码_GUI图形用户界面实验报告
- 技术笔试面试题(下)
- 为IT和互联网写历史
- 命令行窗口-隐藏黑窗口
- 怎么用python学习网站开发_2018年最好用的5个python网站开发框架
- SQL : 练习题-29题
- python安装 错误 “User installations are disabled via policy on the machine”
- 基于opencv和pillow实现人脸识别系统(附详细源代码)
- 题目60 相同字母消除法(栈)(ok)
- c++编译器常见warning与解决方案总结
热门文章
- 刘文峰:让科技成就艺术创意
- 基于SRS的RTMP分发技术方案
- TensorFlow Lite 正式发布,谷歌移动端深度学习框架
- DevOps发展的9个趋势
- golang获取文件创建时间,最后访问时间,最后修改时间
- springMVC——Xml配置方式实现Helloworld
- leetcode 1293. Shortest Path in a Grid with Obstacles Elimination | 1293. 网格中的最短路径(BFS)
- 【Vue】脚手架 Vue CLI 的使用
- HTTP协议之:HTTP/1.1和HTTP/2
- JDK9的新特性:JPMS模块化