Elements elements = response.body().css("#content table .pl2 a"); List<String> titles = elements.stream().map(Element::text).collect(Collectors.toList()); result.setItem(titles); // 获取下一页 URL Elements nextEl = response.body().css("#content > div > div.article > div.paginator > span.next > a"); if (null != nextEl && nextEl.size() > 0) { String nextPageUrl = nextEl.get(0).attr("href"); Request nextReq = this.makeRequest(nextPageUrl, this::parse); result.addRequest(nextReq); } return result; } } public static void main(String[] args) { DoubanSpider doubanSpider = new DoubanSpider("豆瓣片子"); Elves.me(doubanSpider, Config.me()).start(); } 这段代码中在 onStart 办法是爬虫启动时的一个事宜,会在启动该爬虫的时刻履行,在这里我们设置了启动要抓取的URL列表。 然后添加了一个数据处理的 Pipeline,在这里处理管道中只进行了输出,你也可以存储。
在 parse 办法中做了两件事,起首解析当缁ぅ取到的所有片子标题,将标题数据收集为 List 传递给 Pipeline; 其次根据当前页面持续抓取下一页,将下一页请求传递给调剂器,由调剂器转发给下载器。这里我们应用一个 Result 对象接收。
参考文献
- 常见的反爬虫和应对办法
- 反爬虫思路与解决办法
- 收集爬虫
【编辑推荐】
- NodeJs爬虫抓取古代典籍,共计16000个页面心得领会总结及衔目分享
- Python微博移动端爬虫实例(附代码)
- 用python爬虫抓站的一些技能总结
- Python爬虫拭魅战之豆瓣音乐、微打赏、阳光片子(附代码)
- 大年夜0到1:Python爬虫常识点梳理
【义务编辑:庞桂玉 TEL:(010)68476606】
推荐阅读
大神打造水族箱PC主机 机箱还能养鱼
年前最后一场技巧盛宴 | 1月27日与京东、日记易技巧大年夜咖畅聊智能化运维成长趋势!PC主机重要的散热方法分为风冷和水冷,然则信赖不少玩家据说过“油冷”,就是应用矿物油不导电的特点,将>>>详细阅读
本文标题:设计和实现一款轻量级的爬虫框架
地址:http://www.17bianji.com/lsqh/40337.html
1/2 1