webmagic百度指数查询

本文介绍了如何利用WebMagic框架,配合Java技术,自行搭建一个爬虫来批量查询百度指数,以此避免购买昂贵的接口费用。通过设置UA和账号cookie,爬虫将查询结果输出到TXT文本,并统计运行时间。
摘要由CSDN通过智能技术生成

需求:本地一批关键词,需要查询百度指数,5118一次只能查100条,5W不得手软,看接口0.013元1条,网上找了百度指数接口,都不怎么便宜,那就自己动手了,用webmagic也是很方便快捷的。
1、配置
webmagic两个包、打包成jar可以挂在服务器慢慢运行。

    <dependencies>
        <!-- webmagic核心包 -->
        <dependency>
            <groupId>us.codecraft</groupId>
            <artifactId>webmagic-core</artifactId>
            <version>0.7.4</version>
        </dependency>
        <!-- webmagic扩展包 -->
        <dependency>
            <groupId>us.codecraft</groupId>
            <artifactId>webmagic-extension</artifactId>
            <version>0.7.4</version>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-assembly-plugin</artifactId>
                <version>2.5.5</version>
                <configuration>
                    <archive>
                        <manifest>
                            <mainClass>com.booy.task.OrderProcessor</mainClass>
                        </manifest>
                    </archive>
                    <descriptorRefs>
                        <descriptorRef>jar-with-dependencies</descriptorRef>
                    </descriptorRefs>
                </configuration>
            </plugin>
        </plugins>
    </build>

log4j日志文件:

log4j.rootLogger=INFO,A1 
log4j.appender.A1=org.apache.log4j.ConsoleAppender
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

2、主类

public class BaiduZhishu implements PageProcessor {
   

    @Override
    public void process(Page page) {
   
        Document doc = page.getHtml().getDocument();
        String docStr = doc.toString();
        
        Pattern statusP = Pattern.compile("status\\\":\\d*?(?=,)");
        Matcher statusM = statusP.matcher(docStr);
        statusM.find();
        String statusGroup = statusM.group();
        int i = Integer.parseInt(statusGroup.substring(8, statusGroup.length()));

        String allZhishu = null
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值