scrapy-redis(四):使用xpath时的一个小细节

在解析网页的时候,我们一般情况下使用的是xpath,因为xpath定位很精准,基本上不会出现定位错位,获取到脏数据的情况。xpath使用起来也是非常的方便,firefox就有xpath的插件,可以直接定位获取到一个元素,而不用我们手动的去寻找。

比如下面就是一个典型的利用浏览器获取到的xpath:
scrapy-redis(四):使用xpath时的一个小细节_第1张图片
这个xpath的定位是非常精准的,绝对不会出现定位错误,但是最后我们却发现获取不到想要的数据,这是为什么呢?

归根结底,我们还是要看看scrapy本身,下面是scrapy官方文档上的一段文字:
scrapy-redis(四):使用xpath时的一个小细节_第2张图片
大致的意思是说,firefox会把tbody元素加到table中,而scrapy是不能识别原始的html的。因此如果你想要从网页中获取数据,就不要在xpath中添加tbody。而至于tbody是什么元素,我没做前端,我也不知道。反正只要记住不要有tbody即可。

就这么一个小小的要点,细节决定成败嘛!

你可能感兴趣的:(scrapy)