首页 > 关于Python爬虫抓取网页源码的编码问题

关于Python爬虫抓取网页源码的编码问题


十六进制编码,解码就行了


最简单的方法,直接print()就能解码


import re
import requests


url = "http://www.qiushibaike.com"
content = requests.get(url)
pattern = re.compile(r'<div.*?class="content">(.*?)</div>', re.S)
text = content.text.encode(content.encoding).decode('utf-8')
items = pattern.findall(text)
for index, item in enumerate(items):
    print str(index + 1) + ": " + item.strip()
    

结果

1: 以前上高中的时候,我有个同桌叫董汇文,他有两个双胞胎哥哥在另外两个班,兄弟三个人走在一块,不熟悉的人根本分不出来。有一天我们班一同学背地里说他们的坏话被知道了,中午在食堂吃饭的时候,兄弟三个人一块揍那个人,那场面怎么说呢,,,你知道影分身吗
2: 看到一个帖子说心机深的女生有多么可怕,有一个回复是这样的~~~宿舍里一个女生出门时故意不带手机,打开了录音放在宿舍,晚上回来听舍友有没有说她坏话。我真庆幸我是生活在男生宿舍
3: 参加朋友聚会。我加班去的有点晚。<br/>当我走到走廊里,挨个往里瞅的时候。突然一妹子把我拉进了包厢,边拉边喊:“不就相个亲么,害羞个什么劲!”......我怀疑这孩子肯定是大冒险输了
4: 一帮朋友店里聊天,都问一哥们干嘛不搞对象,哥们沾沾自喜的说到:我这是趁着年轻多挣钱,当个黄金斗士。。。。旁边一姐们笑到:你是360卫士吧。。众人一头雾水,就看到姐们拿出手机写到,手,鸡,慰,士!!!众人狂笑,留下一脸懵逼的哥们。。。突然觉得女人污起来比男人更有内涵。。。。。。。。
5: 厂里的一对小夫妻刚刚在吵架,同事们纷纷去劝男的,让他去道歉,那男同事嘴硬死活不去,这时他媳妇说:你家伙要是跟你嘴一样硬的话,老娘跟你吵不了架。
6: 下午一女同事在办公室老和我过不去,不割给她用……就刚又来了,我说你再嘚瑟就喂你吃香肠,结果女同事回我,不想吃香肠想吃香蕉,带弧度!当时办公室就沸腾了……LZ尴尬接不下去了!
7: 老公参加足球比赛,被对方后卫从身后一脚铲断了跟腱……跟腱修复手术后麻药醒了后疼得哇哇大叫痛不欲生……我泪水涟涟地抱着他说真希望受伤的是我……他紧抓着我的手说我也是!我也希望受伤的是你……………
8: 我:老婆,要是我得了不治之症一定不要让我知道。<br/>老婆一个白眼:肯定不能让你知道,你要知道还不得闹着去治啊,咱家可没钱给你治病。<br/>我:。。。。。
9: 问:你买过最好的假货是什么?<br/>神回答:我曾经买过一本盗版书,竟然把正版书里的个别错别字给改了过来!
10: 媳妇对女儿说:“你要听话,你每惹妈妈生气一次,妈妈就长一根白头发。”割割割,女儿茅塞顿开:“哦,怪不得姥姥的头发全白了,全是你惹她生气来。”
11: 今天,我正在午睡。迷糊间,来了陌生电话。我随手拿起:喂——。那头是低沉的男声:是XX吗?我:是。那头继续问:你住在XX路XX号吧?准备好钱没有?我紧张了起来。便小声问:你咋知道的?对方有些怒了:快递啊,货到付款啊!
12: 刚刚G167高铁停南京站3分钟,一大爷下去自拍没上来车,正在和列车自拍呢,车走了
13: 在单位卫生间玩手机,微信接了小视频,看是个小女孩唱歌,随手点开了,突然画风变了,一女子激昂的啊~啊~~声传来,赶紧关掉小视频。<br/>没过几天就同事问我,知道是谁在卫生间看小电影吗?
14: 今天没事在旅馆里洗衣服,老板娘也在洗,面对面她一弯腰两个大白兔一晃一晃的,我端盆子去她后面洗,呵呵,她穿个低腰裤大白屁股露出半个,尼玛的这是夏天啊,老子穿个大裤衩子顶起来多高叫我无地自容啊!算了,等你洗完我再洗吧
15: 今天9月1号,新生来报到,学校准备各种各样的欢迎仪式,最逗的是中国移动,充100送1300,那个客服问我们要不要办理 ,我同学说 我是老生,你不要坑我,去坑新生吧 ,当时我笑了。
16: 上高中的时候喜欢一女孩,长相一般,但是身上总有一股淡淡的香味,闻起来很特别的清爽。每次当她经过我身边,我都会深深的吸气,那时候觉得这就是女孩的体香,现如今结婚了才知道,那TM哪是女孩的体香,明明是妇炎洁的味道。
17: 只博大家一乐
18: 奔三了,老爸看我还不紧不慢的不处对象结婚生子,就问我,你是打算将来给自己直接生个孙子么?……………我呃
19: 还记得去年在长沙同时交往17个女朋友的那哥们吗?刚看到新闻,人家今年释放后又交上女朋友们了,女朋友们。。。当我跪着看完新闻的时候,我表示:大神!我服
20: 在车上一妹子看着路边招牌问他男友:玻璃夹饭,不知道好不好啊,只见他男友满脸黑线:那是玻璃夹板!不能吃…………没忍住笑得没心没肺

print result


find_all返回的是一个list, 所以你直接打印会出现这种问题,遍历就好了

for item in items:
    print item

>>> import json
>>> s=u'\u6bdb\u91cc\u5854\u5c3c\u4e9a'
>>> print json.dumps(s)
"\u6bdb\u91cc\u5854\u5c3c\u4e9a"
>>> print json.dumps(s,ensure_ascii=False)
"毛里塔尼亚"
【热门文章】
【热门文章】