为啥Python写的爬虫有时候抓取的数据是乱码

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为啥Python写的爬虫有时候抓取的数据是乱码相关的知识,希望对你有一定的参考价值。

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

import urllib2
import re

url='http://tieba.baidu.com/p/3295185529?see_lz=1'

#打开页面并进行转码
page=urllib2.urlopen(url).read().decode('gbk')
print 'Open %s'%url

#去掉超链接和图片
none_re=re.compile('<a href=.*?>|</a>|<img.*?>')

#换行符转换
br_re=re.compile('<br>')

#标题
title_re=re.compile('<h1 class="core_title_txt " title="(.*?)"')
#帖子内容
content_re=re.compile('<div id="post_content_\d*" class="d_post_content j_d_post_content ">(.*?)</div>')

#搜索文章标题,并去掉文件标题可能含有的特殊符号
title=re.search(title_re,page)
title=title.group(1).replace('\\','').replace('/','').replace(':','').replace('*','').replace('?','').replace('"','').replace('>','').replace('<','').replace('|','')

#搜索文本内容
content=re.findall(content_re,page)

with open('%s.txt'%title,'w') as f:
print 'Writing %s.txt now...'%title
for i in content:

#对html特殊符号进行替换处理
i=re.sub(none_re, '', i)
i=re.sub(br_re, '\n', i)

#写入文本文件
f.write(i.encode('utf-8').strip()+'\n')
print 'Done!'
参考技术A 首页和发布出来的数据是常规的发布数据,可以些爬虫抓取解析保存到本地。你给的那个页面,里头的数据图表是用 Flash 来展示的,这块没弄过,不知道在爬取的时候应该怎么解析数据。本回答被提问者采纳

以上是关于为啥Python写的爬虫有时候抓取的数据是乱码的主要内容,如果未能解决你的问题,请参考以下文章

为啥Python写的爬虫有时候抓取的数据是乱

用python抓取的网页保存后为啥乱码?

Python爬虫中文小说网点查找小说并且保存到txt(含中文乱码处理方法)

python爬虫抓下来的网页,中间的中文乱码怎么解决

java爬虫一段话里的部分字符乱码解决

python爬虫中文乱码问题