(一)使用前的配置:

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框架爬取网页内容相关推荐

  1. python爬取知乎话题广场_学习python爬虫---爬虫实践:爬取B站排行榜2(爬取全部分类排行榜、利用pygal库作图)...

    前面我们爬取了B站上全站的排行榜,详细见:魏勇:学习python爬虫---爬虫实践:爬取B站排行榜​zhuanlan.zhihu.com 一.爬取全部分类排行榜 我们观察一下B站排行榜,那里还有番剧排 ...

  2. python爬取b站视频封面_学习笔记(4)[Python爬虫]:爬取B站搜索界面的所有视频的封面...

    学习笔记(4)[Python爬虫]:爬取B站搜索界面的所有视频的封面 import os import requests import re import json from bs4 import B ...

  3. java爬取button_学习使用Java的webmagic框架爬取网页内容

    (一)使用前的配置: 2,(1)添加依赖: us.codecraft webmagic-core 0.7.3 us.codecraft webmagic-extension 0.7.3 us.code ...

  4. 提取点位属性文本_手把手教你如何用Python爬取网站文本信息

    提取网页源代码--Requests 工具包 在我们提取网络信息之前,我们必须将网页的源代码进行提取,Requests工具包现在可以说是最好用和最普及的静态网页爬虫工具,它是由大神Kenneth Rei ...

  5. python爬取网页文本_手把手教你如何用Python爬取网站文本信息

    提取网页源代码--Requests 工具包 在我们提取网络信息之前,我们必须将网页的源代码进行提取,Requests工具包现在可以说是最好用和最普及的静态网页爬虫工具,它是由大神Kenneth Rei ...

  6. python抓取京东联盟优惠券_备战双十一,scrapy框架爬取京东优惠券信息

    爬取流程分析 京东有点好就是有个领券中心,所有购物券都集中在一个页面,可以通过scrapy等爬虫框架很容易的爬取.其中,一个购物券部分的代码如下: ... ... ... ... 这段代码中 clas ...

  7. scrapy获取a标签的连接_python爬虫——基于scrapy框架爬取网易新闻内容

    python爬虫--基于scrapy框架爬取网易新闻内容 1.需求[前期准备] 2.分析及代码实现(1)获取五大板块详情页url(2)解析每个板块(3)解析每个模块里的标题中详情页信息 点击此处,获取 ...

  8. java socket 获取网页源代码_通过java.net.Socket 类抓取网页内容

    /** 文件名 : Firstsocket.java 描述 :通过 java.net.Socket 类访问一个web页面,并且返回结果 作者: 慈勤强 cqq1978@yeah.net 参考:http ...

  9. java 使用webmagic 爬虫框架爬取博客园数据

    java 使用webmagic 爬虫框架爬取博客园数据存入数据库 学习记录   webmagic简介: WebMagic是一个简单灵活的Java爬虫框架.你可以快速开发出一个高效.易维护的爬虫. ht ...

最新文章

  1. HashSet中的add()方法( 四 )(详尽版)
  2. arthas使用示例:tt记录指定方法每次调用的入参和返回值
  3. 一篇文章搞懂数据仓库:数据仓库规范设计
  4. Java OOM异常原因及解决方案
  5. gdb调试多进程和多线程
  6. eclipse-4.4.2安装Groovy插件(其他版本eclipse可参考)
  7. 如何生成JDK帮助文档
  8. 象棋人工智能算法的C++实现(五)——人机博弈的高阶算法
  9. 【工具使用】git使用--将本地代码上传到icode代码库踩坑总结
  10. tolua unity 报错_Unity3D热更新技术点——ToLua(上)
  11. java图形界面的实验代码_GUI图形用户界面实验报告
  12. 技术笔试面试题(下)
  13. 为IT和互联网写历史
  14. 命令行窗口-隐藏黑窗口
  15. 怎么用python学习网站开发_2018年最好用的5个python网站开发框架
  16. SQL : 练习题-29题
  17. python安装 错误 “User installations are disabled via policy on the machine”
  18. 基于opencv和pillow实现人脸识别系统(附详细源代码)
  19. 题目60 相同字母消除法(栈)(ok)
  20. c++编译器常见warning与解决方案总结

热门文章

  1. 刘文峰:让科技成就艺术创意
  2. 基于SRS的RTMP分发技术方案
  3. TensorFlow Lite 正式发布,谷歌移动端深度学习框架
  4. DevOps发展的9个趋势
  5. golang获取文件创建时间,最后访问时间,最后修改时间
  6. springMVC——Xml配置方式实现Helloworld
  7. leetcode 1293. Shortest Path in a Grid with Obstacles Elimination | 1293. 网格中的最短路径(BFS)
  8. 【Vue】脚手架 Vue CLI 的使用
  9. HTTP协议之:HTTP/1.1和HTTP/2
  10. JDK9的新特性:JPMS模块化