爬虫 测试webmagic (一)

目标:统计斗鱼(www.douyu.com)人数

思路:

1. 目录找到douyu播出的所有游戏 http://www.douyutv.com/directory

2. 借助 chrome 定位到每个游戏的目录页面,正则表达式为 /directory/game/\\w+

  比如对于LOL来说,找到 href=/directory/game/LOL

3. 进入到游戏目录后,借助 chrome 得到 xpath, 定位到各个主播的人数

比如某个主播的观众数 //*[@id="item_data"]/ul/li[2]/a/div[1]/p/span[1]

推出人数的位置规律为 //*[@id="item_data"]/ul/li[number]/a/div[1]/p/span[1]

4. code 如下

public class DouyuViewerStat implements PageProcessor {

    private Site site = Site.me().setDomain("http://www.douyutv.com/")            .addStartUrl("http://www.douyutv.com/directory");

    @Override    public void process(Page page) {//        System.out.println(page);        List<String> links = page.getHtml().links().regex("/directory/game/\\w+").all();

        for(String link: links) {            page.addTargetRequest("http://www.douyutv.com"+link);        }

//        System.out.println(links);        page.putField("userName", page.getHtml().xpath("//*[@id=\"item_data\"]/ul/li[1]/a/div[1]/h1"));        page.putField("viewerNumber", page.getHtml().xpath("//*[@id=\"item_data\"]/ul/li[1]/a/div[1]/p/span[1]"));    }

    @Override    public Site getSite() {        return site;    }

    public static void main(String args[]) {        Spider.create(new DouyuViewerStat())                .addPipeline(new ConsolePipeline())                .run();    }}
时间: 2025-01-02 00:12:12

爬虫 测试webmagic (一)的相关文章

【JAVA】Java爬虫框架 WebMagic的使用

具体详细信息参见 http://webmagic.io/ PageProcessor的实现: 实现PageProcessor接口即可. 在里面可以定制自己的爬虫规则 Webmagic的页面抓取过程也就是PageProcessor分为三个部分: 1.设置抓取器的参数:如重复次数,重复事件等等 2.设置抓取规则:也就是给你一个Html页面你要抓取其中的哪些信息 3.从当前的页面找没有访问过的连接,加入到抓取队列,等待抓取 public class GithubRepoPageProcessor im

爬虫框架webmagic与spring boot的结合使用--转

原文地址:http://www.jianshu.com/p/c3fc3129407d 1. 爬虫框架webmagic WebMagic是一个简单灵活的爬虫框架.基于WebMagic,你可以快速开发出一个高效.易维护的爬虫. 1.1 官网地址 官网文档写的比较清楚,建议大家直接阅读官方文档,也可以阅读下面的内容.地址如下: 官网:http://webmagic.io 中文文档地址: http://webmagic.io/docs/zh/ English: http://webmagic.io/do

爬虫框架--webmagic

官方有详细的使用文档:http://webmagic.io/docs/zh/ 简介:这只是个java爬虫框架,具体使用需要个人去定制,没有图片验证,不能获取js渲染的网页,但简单易用,可以通过xpath和css选择符获取网页内容,官方也有超详细的文档,适合爬取简单的网页和新手学习爬虫.图片验证和js渲染网页获取都可以后来添加进去.使用webmagic这个框架,可以减少很多需要自己写的代码,从而专注于网页分析获取和储存的地方. 使用:

java爬虫框架webmagic

最近需要爬去网站的一些商品,就开始在网上找方法,本来是想着用Python做的,因为以前用Python写过一个小脚本,爬取一个文献网站上的免费文献. 步骤大概是这样的:1,先获取给定URL的html文件,然后在这个文件中用正则表达式匹配出需要的URL(可能含有分页的URL),然后再获取匹配出的URL的html,在这些html文件中会有可以下载的PDF文件的链接,然后把这些链接存到磁盘中.(这中间因为网站有防爬虫,所以中间花了点时间在模拟浏览器上).拿到链接之后,就是下载文献了,写了一个shell脚

JAVA爬虫实践(实践三:爬虫框架webMagic和csdnBlog爬虫)

WebMagic WebMagic是一个简单灵活的Java爬虫框架.基于WebMagic,你可以快速开发出一个高效.易维护的爬虫. 采用HttpClient可以实现定向的爬虫,也可以自己编写算法逻辑来实现多线程,创建链接池,自动解析网页代码获取请求链接,封装正则表达式等等. 但是如果使用框架,就不再需要考虑爬虫的逻辑,只需要专注HTML内容的解析和获取. 引用WebMagic后写一个爬虫只需要编写一个类实现PageProcessor接口,实现两个方法. 一个WebMagic例子 package

爬虫测试

requests库是用来处理http请求的第三方库. import requests get(url[,timeout=n])函数是用来获取网页的函数,参数url是网页的地址,timeout=n]表示每次请求超时的时间,调用后返回Response对象 r=requests.get("https://www.baidu.com",timeout=30) #获取百度主页的内容,响应时间为30毫秒 print(type(r)) #输出Response对象 print(r.status) #输

云爬虫测试

linux部分内容: pwd:查看当前环境 ls:当前目录下的文件 cd .git vim config(查看代码) git pull(更新代码) python manage.py shell #读取文件中内容 file_object=open('/home/princetechs/桌面/文件名') all_the_text=file_object.read() print(all_the_text) file_object.close() 虚机到本机获取文件 scp [email protec

33款可用来抓数据的开源爬虫软件工具

要玩大数据,没有数据怎么玩?这里推荐一些33款开源爬虫软件给大家. 爬虫,即网络爬虫,是一种自动获取网页内容的程序.是搜索引擎的重要组成部分,因此搜索引擎优化很大程度上就是针对爬虫而做出的优化. 网络爬虫是一个自动提取网页的程序,它为搜索引擎从万维网上下载网页,是搜索引擎的重要组成.传统爬虫从一个或若干初始网页的URL开始,获得初始网页上的URL,在抓取网页的过程中,不断从当前页面上抽取新的URL放入队列,直到满足系统的一定停止条件.聚焦爬虫的工作流程较为复杂,需要根据一定的网页分析算法过滤与主

主流开发语言 33 款开源爬虫

原文地址 去年,之前的同事,喜欢看小说,就想自己没事搞个网站,我告诉他,先用爬虫把别人网站的小说下载下来,放到自己的网站里~我同事编码能力很强,学东西相当快,给他大概讲一下,帮他下载个用 http 协议下载网站的程序集(.net)就可以,但是,时不时,Web 会拒绝,后来,我说,http 协议是应用层协议,频繁访问人家 Web,可能会封你的 IP,你要写爬虫,可以干脆用 TCP/IP 网络层协议写~后来,他写熟了,直接用 TCP/IP 协议写的~ 现在想想,爬虫,这么多开源项目,自己写还真是多余