03crawler01 爬取直播电视剧列表
来源:互联网 发布:杨子天珠淘宝店 编辑:程序博客网 时间:2024/05/18 15:23
不知道 大家没事的时候, 上不上一些直播平台瞅一愁, 有时候 你去翻列表, 是不是感觉眼睛都要花了, 你完全可以写一个爬虫程序将所有的感兴趣的数据下载下来, 然后再自己慢慢的来搜索了呗
一般来说 直播平台是分页的, 你可以将你感兴趣的栏目的所有的直播节目的相关信息下载下来, 然后 寻找自己感兴趣的直播节目
为了 简单, 我们这里只下载一个栏目的一个页面的直播信息
接下来 我们来实现一个功能, 抓取下面的页面的所有的电视剧的电视剧的名字 以及链接 [基于crawler.jar]
浏览器访问画面 :
结果截图 :
图中可能有一些乱码, 但是, 我没有找到原因所在…
代码如下 :
/** * file name : Test11CrawlForDouyu01GameList.java * created at : 9:32:38 PM Sep 5, 2015 * created by 970655147 */package com.hx.crawler;public class Test11CrawlForDouyu03ProductList { // 测试站点 : http://www.douyutv.com/directory/game/LOL // 获取游戏房间信息 public static void main(String []args) throws Exception { String url = "http://www.douyutv.com/directory/game/dy"; Map<String, Object> params = new HashMap<>(); params.put(Tools.TASK, "roomList"); params.put(Tools.SITE, "douyu"); params.put(Tools.PAGE_NO, "0"); ScriptParameter singleUrlTask = Tools.newSingleTask(HtmlCrawler.newInstance(), url, params); parse(singleUrlTask); } // parse 接口 // 1. 获取目录 // 2. 将目录信息传递给下一个脚本 public static void parse(ScriptParameter scriptParameter) throws Exception { String nextStage = Tools.Test11CrawlForDouyu04ProductInfo; SingleUrlTask singleUrlTask = (SingleUrlTask) scriptParameter; Crawler crawler = singleUrlTask.getCrawler(); String url = singleUrlTask.getUrl(); Map<String, Object> param = singleUrlTask.getParam(); String xpath = "{\"name\":\"roomList\",\"xpath\":\"/html/body//li/a[@class='list']\",\"values\":[{\"name\":\"name\",\"attribute\":\"title\"},{\"name\":\"url\",\"attribute\":\"href\"}]}"; xpath = Tools.getRealXPathByXPathObj(xpath); // ------------------------1------------------------------ StringBuilder sb = new StringBuilder(); long start = System.currentTimeMillis(); Tools.appendCRLF(sb, "URL : " + url, true); Tools.appendCRLF(sb, "--------------------- [" + Tools.getTaskName(singleUrlTask) + "start ...] --------------------------"); Log.log(sb.toString()); CrawlerConfig config = new CrawlerConfig(); config.setTimeout(30 * 1000); Page page = crawler.getPage(url, config); String html = page.getContent(); html = new String(html.getBytes(), "utf-8");// Log.log(html);// Tools.save(html, Tools.getTmpPath(7));// Tools.getPreparedDoc(url, html, Tools.getTmpPath(7)); JSONArray fetchedData = Tools.getResultByXPath(html, url, xpath); long spent = System.currentTimeMillis() - start; Tools.appendCRLF(sb, fetchedData.toString(), true); Tools.appendCRLF(sb, "--------------------- [crawl" + Tools.getTaskName(singleUrlTask) + "end ...] --------------------------"); Tools.appendCRLF(sb, "spent " + spent + " ms ..."); Log.log(sb.toString()); // ------------------------2------------------------------ if(! fetchedData.isEmpty()) { } }}
当然这里 只是一个简单的示例, 更多的想法, 大家可以任由自己的思路
注 : 因为作者的水平有限,必然可能出现一些bug, 所以请大家指出!
0 0
- 03crawler01 爬取直播电视剧列表
- 斗鱼直播实时数据爬取
- 电视剧
- 电视剧
- 电视剧
- python3 [爬虫入门实战]爬取熊猫直播用户信息
- 龙珠直播前50信息爬取并保存图片和天池排名爬取
- 拉取人人直播流
- python爬取oschina博客列表
- Python3实例:爬取淘宝商品列表
- HtmlUnit爬取页面列表链接
- 用python3爬取代理服务器列表
- python简单爬虫,Beautifulsoup4解析,爬取直播吧部分热门新闻及链接
- js 取字体列表
- java-爬虫-爬取银行名字列表
- 爬取免费IP代理,以列表形式返回
- java爬虫之爬取博客园推荐文章列表
- 使用Pyspider 框架爬取全球的注册公司列表
- SimpleCalculator
- java字符串与整数之间的互相转换
- 第四周--项目1
- Mysql 5.6.22编译安装
- Picasso分析02
- 03crawler01 爬取直播电视剧列表
- 你所厌恶的正是别人渴望的
- 软工文档总结
- 浅谈javascript的五种基本数据类型
- JDK,JRE,JVM区别与联系
- Star Schema完全参考手册读书笔记一
- 使用Xshell连接Linux连接不上
- pat1012The Best Rank (25)
- Google C++ Style Guide的哲学