python 爬虫在xpath中的乱码问题

k826416971 2015-12-26 01:21:54
最近在学python 在学习多线程爬虫xpath的时候,发现xpath的乱码问题,去百度很很多解决乱码的方法,但是都不行。请各位大牛帮我看看
#-*-coding:utf8-*-
import requests
import sys
from lxml import etree
reload(sys)
sys.setdefaultencoding('gbk')
url='http://www.jikexueyuan.com/course/902_2.html?ss=1'
html =requests.get(url)
selector = etree.HTML(html.content)
#提取文本
content = selector.xpath('//*[@id="pager"]/div[3]/div[2]/div[2]/ul/li[1]/div/h2/a/text()')
print content
for each in content:
print each
...全文
2091 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
胖胖的飞象 2018-02-23
  • 打赏
  • 举报
回复
乱码一般是编码的问题,同前面,setdefault可以去掉,一般网站都是utf-8编码,可以用r.encoding =r.apparentencoding,r.content没用过,建议用r.text,如果还有问题试试setdefault改为utf-8,还有问题的话看看py2编解码的问题,看不懂的话转py3吧大兄弟
k826416971 2015-12-27
  • 打赏
  • 举报
回复
引用 1 楼 pcboyxhy 的回复:
把这两行删掉,在Linux下运行一切OK
reload(sys)
sys.setdefaultencoding('gbk')
不要再调用setdefaultencoding了,python3里面取消了这个功能
我用的是python2.7.10 win8操作系统
k826416971 2015-12-27
  • 打赏
  • 举报
回复
我用的是python2.7.10 win8操作系统
pcboyxhy 2015-12-26
  • 打赏
  • 举报
回复
把这两行删掉,在Linux下运行一切OK
reload(sys)
sys.setdefaultencoding('gbk')
不要再调用setdefaultencoding了,python3里面取消了这个功能

37,719

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧