遇到了这样一个问题。在scrapy中,通过启动时候传入settings控制抓取范围
如
scrapy crawl spiderName -s crawl_target=食品
然后在parse里面xpath找出来区域,判断 settings.crawl_target =? xpath.extract()
但是一直比较不出来,即使 食品 = 食品 这样两个print出来一样,但是 食品 != 食品
这是因为传进来的是编码过后的二进制str 类型,而extract 返回的是Unicode
详见
http://scrapy-chs.readthedocs.io/zh_CN/0.24/topics/selectors.html#scrapy.selector.SelectorList
故需要转化一次才能正确被比较
转化可以是 extract()[index].encode("utf-8") 当然也可以用发现的快捷方式
直接 str(......extract() )
来个str就好