xpath获取标签属性乱码解决

栏目: 编程语言 · XML · 发布时间: 6年前

内容简介:问题在于解码和编码修改前的代码打印输出 中文字全部为乱码

问题在于解码和编码

修改前的代码

#-*- coding: utf-8 -*-

import requests
from lxml import etree

url = 'http://top.baidu.com/buzz?b=1&fr=20811'
response = requests.get(url)
r = etree.HTML(response.text)
item_list = r.xpath("//table[@class='list-table']//tr")
# print(item_list)
for i in item_list[1:]:
    first_name = i.xpath("./td[@class='first']/span")
    keyword_name = i.xpath("./td[@class='keyword']/a[@class='list-title']")
    try:
        print(first_name[0].text)
        print(keyword_name[0].text)
    except:
        pass
    print('***************************************************************')

打印输出 中文字全部为乱码

1

2

ɱÓãµÜ¸¸×Ó´òÈË

3

·ÉÐÐÔ±Íü´øÔ¿³×

4

¿ì¹¸ß¹Ü±»ÅÐÎÞÆÚ

5

¶«º£º½¿ÕÔÙÏÖÎ¥¹æ

6

Ïȷ洴ʼÈËÈ¥ÊÀ

7

öª·æ·ñÈÏÇúÆæÖ°©

8

¹Â´æ6ɱ³Ô¼¦

9

IG 2:0 OMG

10

СS°®Çé±£ÏÊÊõ

11

Öйú0-2º«¹ú

12

Û¬ÁÖ¼¤¶¯Å­³â²ÃÅÐ

13

µÇ±´À³ÓëÕÅÁ¦ºÏÓ°

14

¼ÃÄÏÎ¥½¨±ðÊû±»²ð

15

ÎÞÏÞ¼« Ðļ¡Ëðº¦

16

â¹û»ØÓ¦Áõ»¶Í²Û

17

ÎâÒà·² 100Íò

18

Àî³ÐîçΪٶùÇìÉú

19

ħµÀ×æÊ¦±»Ëø

20

ÇжûÎ÷×â½èÒÁ¹ÏÒò

21

±´¿ËººÄ·°®È®

22

Æ»¹ûÊÐÖµ´óËõË®

23

×ß·¿´ÊÖ»ú·£10Ôª

24

¹ú¼ÊÓͼÛ×òÈÕÊÕÕÇ

25

¹ú×ãÂäºóº«¹ú

26

shadowÌæ²¹

27

ÉòÃγ½»ØÓ¦Âô¼Ù»õ

28

̨ÄÏŮͯÔâĸŰËÀ

29

Öк«´óÕ½Ê×·¢

30

ÖÐѧΪÀÏʦÉèÁµ°®¼Ù

31

ºú¾²ÆØ¹âºÀÃÅÉú»î

32

¹ËÍ¢ìÇҪȢÈçÀ¼

33

Ó¢¹úÒé»á·ñ¾öÍÑÅ·

34

¿ÏÄáÑǾƵ걬ը

35

µÎµÎ°²È«ÔÙÉý¼¶

36

ÖÜÐdzÛÕŰØÖ¥ÖؾÛ

37

Õã½­ÑØº£¸ßËÙ¿ªÍ¨

38

°×ÓîÐøÔ¼Ò¼ÐÄ

39

Ê®´ó×î¶Â»¥ÁªÍø¹«Ë¾

40

ÖܽÜÂ×ɹÂèÂè½üÕÕ

41

º®¼ÙÌìÊýÅÅÐаñ

42

°ëÊý·ÉÐÐÔ±ÍËÐÝ

43

ºã´óÂò¶Ï±£ÀûÄá°Â

44

лª±£ÏÕÍò·åÀëÖ°

45

ÐðÀûÑDZ¬Õ¨

46

º«¾ç¹¬½«ÅÄÖйú°æ

47

½ûֹδ³ÉÄêÈËÕûÈÝ

48

³ÂÒ⺭ÏëÂèÂè

49

Ê׸ÖÄÐÀº»÷°ÜÉϺ£

50

Ñî×ϹØÏþÍ® ÍÈ

处理方式:

先查看 response的编码

print(response.encoding)

然后对中文部分 encode('ISO-8859-1').decode('gbk')

附上修改过后的代码和输出

#-*- coding: utf-8 -*-

import requests
from lxml import etree

url = 'http://top.baidu.com/buzz?b=1&fr=20811'
response = requests.get(url)
print(response.encoding)
r = etree.HTML(response.text)
item_list = r.xpath("//table[@class='list-table']//tr")
# print(item_list)
for i in item_list[1:]:
    first_name = i.xpath("./td[@class='first']/span")
    keyword_name = i.xpath("./td[@class='keyword']/a[@class='list-title']")
    try:
        print(first_name[0].text.encode('ISO-8859-1').decode('gbk'))
        print(keyword_name[0].text.encode('ISO-8859-1').decode('gbk'))
    except:
        pass
    print('***************************************************************')

1

2

佘诗曼回应蛇精脸

3

杀鱼弟父子打人

4

飞行员忘带钥匙

5

快鹿高管被判无期

6

先锋创始人去世

7

东海航空再现违规

8

IG 2:0 OMG

9

济南大白宫被拆

10

济南违建别墅被拆

11

登贝莱与张力合影

12

无限极 心肌损害

13

孤存6杀吃鸡

14

霆锋否认曲奇致癌

15

中国0-2韩国

16

郜林激动怒斥裁判

17

小S爱情保鲜术

18

业主割断安全绳

19

芒果回应刘欢吐槽

20

吴亦凡 100万

21

李承铉为女儿庆生

22

魔道祖师被锁

23

伊瓜因发烧

24

切尔西租借伊瓜因

25

贝克汉姆爱犬

26

苹果市值大缩水

27

走路看手机罚10元

28

国际油价昨日收涨

29

国足落后韩国

30

shadow替补

31

沈梦辰回应卖假货

32

中韩大战首发

33

台南女童遭母虐死

34

中学为老师设恋爱假

35

胡静曝光豪门生活

36

顾廷烨要娶如兰

37

英国议会否决脱欧

38

肯尼亚酒店爆炸

39

滴滴安全再升级

40

周星驰张柏芝重聚

41

浙江沿海高速开通

42

十大最堵互联网公司

43

周杰伦晒妈妈近照

44

寒假天数排行榜

45

半数飞行员退休

46

恒大买断保利尼奥

47

新华保险万峰离职

48

韩剧宫将拍中国版

49

叙利亚爆炸

50

禁止未成年人整容


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

平台革命:改变世界的商业模式

平台革命:改变世界的商业模式

[美]杰奥夫雷G.帕克(Geoffrey G. Parker)、马歇尔W.范·埃尔斯泰恩(Marshall W. Van Alstyne)、桑基特·保罗·邱达利(Sangeet Paul Choudary) / 志鹏 / 机械工业出版社 / 2017-10 / 65.00

《平台革命》一书从网络效应、平台的体系结构、颠覆市场、平台上线、盈利模式、平台开放的标准、平台治理、平台的衡量指标、平台战略、平台监管的10个视角,清晰地为读者提供了平台模式最权威的指导。 硅谷著名投资人马克·安德森曾经说过:“软件正在吞食整个世界。”而《平台革命》进一步指出:“平台正在吞食整个世界”。以平台为导向的经济变革为社会和商业机构创造了巨大的价值,包括创造财富、增长、满足人类的需求......一起来看看 《平台革命:改变世界的商业模式》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

在线进制转换器
在线进制转换器

各进制数互转换器

SHA 加密
SHA 加密

SHA 加密工具