为什么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!'
温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-09-20
首页和发布出来的数据是常规的发布数据,可以些爬虫抓取解析保存到本地。你给的那个页面,里头的数据图表是用 Flash 来展示的,这块没弄过,不知道在爬取的时候应该怎么解析数据。本回答被提问者采纳
相似回答