最新消息:20210816 当前crifan.com域名已被污染,为防止失联,请关注(页面右下角的)公众号

【已解决】汽车之家车型车系数据:carBrandId是空

数据 crifan 1308浏览 0评论
折腾:
【已解决】汽车之家车型车系数据:解决部分车型基本参数字段个数不一致问题
期间,发现虽然参数配置的数据没啥问题,但是好像第一批数据中 carBrandId就是空的:
所以需要去搞清楚,是否正常
https://www.autohome.com.cn/spec/17642/
去调试看看
看到代码中:
好像是只有 new layout html中才有:
        elif isNewLayoutHtml:
            carModelDict["carBrandId"] = InfoDict["brandid"] # 181
旧的
        if isOldLayoutHtml:
没有
所以需要去加上
发现旧页面中无法找到brandId的值
只能从之前入口找
后来发现是:
从之前的brand的name的a元素中就可以提取到
            # <div><a href="//car.autohome.com.cn/price/brand-33.html#pvareaid=2042362">奥迪</a></div>
            carBrandUrl = brandADoc["href"]
            print("carBrandUrl=%s" % carBrandUrl)
            carBrandId = ""
            foundBrandId = re.search("brand-(?P<carBrandId>\d+)\.html", carBrandUrl)
            print("foundBrandId=%s" % foundBrandId)
            if foundBrandId:
                carBrandId = foundBrandId.group("carBrandId")
            print("carBrandId=%s" % carBrandId) # 33
去调试看看
语法错了点,改为:
            # <div><a href="//car.autohome.com.cn/price/brand-33.html#pvareaid=2042362">奥迪</a></div>
            brandADoc = dtDoc.find('div a')
            print("brandADoc=%s" % brandADoc)
            # <a href="https://car.autohome.com.cn/price/brand-63.html#pvareaid=2042362">日产</a>
            carBrandName = brandADoc.text()
            print("carBrandName=%s" % carBrandName)
            carBrandUrl = brandADoc.attr["href"]
            print("carBrandUrl=%s" % carBrandUrl)
            carBrandId = ""
            foundBrandId = re.search("brand-(?P<carBrandId>\d+)\.html", carBrandUrl)
            # print("foundBrandId=%s" % foundBrandId)
            if foundBrandId:
                carBrandId = foundBrandId.group("carBrandId")
            print("carBrandId=%s" % carBrandId) # 63
即可获取到:
然后传递到后面
即可。

转载请注明:在路上 » 【已解决】汽车之家车型车系数据:carBrandId是空

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
87 queries in 0.186 seconds, using 22.29MB memory