@
54dev 是这样的,你这是用了PyQuery直接来获取Url,这样面对非utf-8的页面就会解析错误
比如将你的price显示出来是这样:
In [9]: price
Out[9]: u'\xa3\xa4196.20 \xa3\xa4185.01 \xa3
完全乱了,虽然也可以用一些方法处理为正常,不过就ugly了
所以我建议你用一个库去抓网页,比如requests甚至简单点用urlib,然后 decode('gbk') 转换为Unicode交给PyQuery,而不是直接用pq去抓
话说我刚刚尝试了下requests去抓,不知道是不是新版本的特性,可以自动识别页面编码了。抓回来就是unicode,直接扔给pq就是
ret=requests.get(url="
http://s.taobao.com/search?q=%BB%A7%CD%E2%B0%FC",headers={'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.95 Safari/537.36'})
p=pq(ret.text)
In [19]: print p(".row-focus .price").text()
¥196.20 ¥185.01 ¥268.00 ¥166.00 ¥26.90 ¥185.00 ¥49.00 ¥168.00 ¥58.00 ¥110.00 ¥55.00 ¥87.50 ¥135.00 ¥22.00 ¥45.00 ¥58.00 ¥118.00 ¥20.00 ¥157.50 ¥68.00 ¥188.00 ¥55.00 ¥109.45 ¥88.00 ¥88.00 ¥368.00 ¥99.00 ¥66.00 ¥18.00 ¥55.00 ¥106.20 ¥55.00 ¥256.80 ¥330.00 ¥45.00 ¥562.00 ¥52.20 ¥98.00 ¥218.00 ¥38.90 ¥208.00 ¥138.00 ¥129.00 ¥108.00