webmagic心得

在使用注解模式时,有以下几点注意或心得体会:
1、@HelpUrl(value="url规则",sourceRegion) 辅助路径,如列表页/详情页模式,其中的sourceRegion可以限制URL发现区域(该注解针对的是列表还是详情待定)
2、@TargetUrl(value="url规则",sourceRegion) 该sourceRegion指的是列表页的发现范围,切记,为此一直以为是列表页范围,折腾许久,又是琢磨改源码的,其实很简单。
3、实体类问题,可以存在列表中,在afterProcess方法中二次处理,取值赋值即可,另外,这种实体类写法太过麻烦,计划存为json,然后封装sql方法取值

@ExtractBy("//a[@class='name']/allText()")
    private List name;
    private String name1 = "";
    private String name2 = "";
    private String name3 = "";
    private String name4 = "";
    private String name5 = "";

@Override
    public void afterProcess(Page page) {
        try {
            if (avgPriceOld.contains("-")) {
                this.setAvgPrice(Integer.parseInt(avgPriceOld.replace("人均:-", "0")));
            } else {
                this.setAvgPriceOld(avgPriceOld.replace("人均:", ""));
                this.setAvgPrice(Integer.parseInt(this.avgPriceOld.replace("元", "")));
            }
            this.setDistrict(bread.get(1));
                   // 用户名信息
            this.setName1(name.get(1));
            this.setName2(name.get(2));
            this.setName3(name.get(3));
            this.setName4(name.get(4));
            this.setName5(name.get(5));

你可能感兴趣的:(webmagic心得)