Web Magic学习
1.CSS 选择器
CSS 核心选择器
CSS 属性选择器
亲属关系选择器
2.XPath 和 .xpath() 方法
当通过 .css() 方法选中了你所需要的元素后,你感兴趣的内容可能是这个/这些元素的属性值,或文本内容。更有甚者,还可能是它们的子孙元素的属性值,或文本内容。
这时,你需要对 .css() 方法的返回的 Selectable 再进一步调用 .xpath() 方法。
显而易见,.xpath() 方法利用了 XPath 概念。XPath 是一门在 XML 文档中查找信息的语言。XPath 可用来在 XML 文档中对元素和属性进行遍历。
XPath 最常用的路径表达式:
例如
3.Pipeline 机制和 ConsolePipeline
我们对从『爬』到的页面上『抠』出来的数据的处理(System.out.println())的处理是写死在 .process() 方法中的。
更优雅的方案是使用 webmagic 的 Pipeline 机制。
在创建 Spider 对象(并启动运行时),你可以指定一个或多个 Pipeline 对象:
Spider.create(new ExamplePageProcessor())
.addUrl("https://www.1905.com/mdb/film/list/year-2019/")
.addPipeline(new ConsolePipeline()) // 看这里
.run();
当 PageProcessor 的 .process() 方法执行完后,Pipeline 的 .process() 会执行。
在 PageProcessor 中,你可以将需要后续处理的数据放入到 page 对象中:
page.putField("xxx", ...);
page.putField("yyy", ...);
page.putField("zzz", ...);
在 Pipeline 中,你可以再将上面存在 page 中的数据取出来,再进一步进行处理:
resultItems.get("xxx");
resultItems.get("yyy");
resultItems.get("zzz");
另外,可以通过 lambda 表达式来简化自定义 Pipeline 。
4.MySql安装与配置
MySQL安装