BUG1:关于xpath语法,在xpath helper与开发者工具中能正常显示,但是在scrapy框架文件里显示为none或空列表的问题

    技术2022-07-12  68

    首先,在xpath helper中如下:

     

    然后,在vscode中使用

    response.xpath('/html/body/div[@class="main"]/div[@id="centerm"]/div[@class="bdsub"]/dl[@id="content"]/dd[1]/table/tbody/tr[2]/td[@class="L"]//a/text()').get()

    结果为None

    使用response.body()将html文件下载后,对比发现html文件中没有tbody标签

     

    在f12里看见的也有tbody

     

    所以,应该是浏览器复制的xpath会自动加上tbody,但html源码里是没有tbody的。

    解决方法:在爬虫文件中删除tbody即可,例如:

    response.xpath('/html/body/div[@class="main"]/div[@id="centerm"]/div[@class="bdsub"]/dl[@id="content"]/dd[1]/table/tr[2]/td[@class="L"]//a/text()').get()

    Processed: 0.017, SQL: 10