weixin_40187983 2018-12-13 09:43 采纳率: 100%
浏览 1535
已采纳

python 使用selector.xpath来爬取天猫数据,爬不了月销量

如题:我使用selector.xpath('//*[@class="tm-count"]/text()')

来爬的时候,会爬到最下方的128

我想要爬到11278这个数据

这个selector.xpath('')应该怎么写呢

图片说明

  • 写回答

2条回答 默认 最新

  • lyhsdy 2018-12-14 01:37
    关注

    ←如果以下回答对你有帮助,请点击右边的向上箭头及采纳下答案

    刚测试了一下,天猫有浏览器内核检测机制,能检测到你使用的是selenium,大部分数据不正常加载(不用无头模式可以看到),且频繁显示登录框要求登录,在登录页面又出现滑块验证,滑块在selenium无法通过验证(人工操作也是错误),所以一定要用selenium去爬取,只能通过正常的在
    浏览器中登录后,将登录的cookies复制下来,然后在加载到selenium完成登录后才可以看到销量,才可以爬取到对应的数据

    def tm():
        driver = webdriver.Chrome()
        driver.get(url='https://login.tmall.com/')
        cookies='你登录的cookies'
        nml=re.findall(' (.*?)=',cookie)
        val=re.findall('=(.*?);',cookie)
        for i in range(0,20):
            cookie_dict = {
                "domain": ".taobao.com",  # 火狐浏览器不用填写,谷歌要需要
                'name': nml[i],
                'value': val[i],
                "expires": "",
                'path': '/',
                'httpOnly': False,
                'HostOnly': False,
                'Secure': False}
            driver.add_cookie(cookie_dict)
        print ("ok")
        driver.get(url='https://detail.tmall.com/item.htm?id=530559465281')
        driver.implicitly_wait(30)
        price= driver.find_element_by_xpath("//div[@id='J_DetailMeta']/div/div/div/ul/li/div/span[2]").text
        print(price)
        driver.quit()
    
    
    tm()
    

    这种方法在爬虫里不合适,在频繁的采集之后,cookies的失效,要求重新登录

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?