⑴ python編寫爬蟲爬到的中文字元總是亂碼,r.encoding也不行
這個頁面是gb2312編碼的,不是utf-8
⑵ python爬蟲抓下來的網頁,中間的中文亂碼怎麼解決
對於python的中文編碼問題可以參考下面的帖子
http://python.jobbole.com/85482/
同時,對於網頁的中文亂碼,建立使用requests模塊代替urllib\urllib2
requests的content方法,對中文編碼,支持比較好,基本不會出現亂碼。
req=requests.get(url,cookies=mecookies)
print req.content
具體用法,參見下面兩個帖子,較詳細:
http://blog.csdn.net/iloveyin/article/details/21444613
http://blog.csdn.net/alpha5/article/details/24964009
⑶ 求Python大佬解決爬蟲亂碼
一般亂碼問題有可能是以下幾種原因導致:
1、編解碼方式不對(GKB、UTF8等等,或是乾脆用到的編碼不支持爬到的文字內容)
2、加解密問題,現在很多平台都有加解密的機制,沒有正確方式解密的話,也會出現亂碼
3、其他問題,建議具體問題具體分析
可以根據實際的情況具體分析~
⑷ python爬蟲抓下來的網頁,中間的中文亂碼怎麼解決
這個肯定是編碼的問題,你抓下來的內容要解一下碼,你先看下網的的編碼,按對應的編碼進行解碼就可以得到想要的內容了。
比如:read().decode('utf-8')
⑸ 我在寫一個python的網路爬蟲,寫入記事本的內容都是亂碼如何使寫入的數據以utf8或者gb2312的碼制寫入。
我從自己一個utf8的爬蟲程序裡面摘的。
程序開頭:
#!/usr/bin/envpython
#-*-coding:utf8-*-
importurllib
importurllib2
importstring
importre
importsys
type0=sys.getfilesystemencoding()#解決中文亂碼問題
後面做抓取程序的時候全部加上decode和encode。
pos1=text.find(term.decode("utf-8").encode(type0))
在輸入到txt的時候相應的分隔符也要decode和encode:
f.write(info+'!'.decode("utf-8").encode(type0))
希望能幫到你。
⑹ python爬蟲爬到的中文亂碼怎麼辦
爬到的內容,肯定是某種編碼格式(utf-8/gb2312等)的字元串。只需要對它相應的decode一下就可以了。
比如:如果網頁內容是utf-8編碼的,就:'xxx'.decode('utf-8');
如果是gb2312編碼的,就:'xxx'.decode('gb2312')
⑺ 為什麼Python寫的爬蟲有時候抓取的數據是亂碼
# -*- coding:utf-8 -*-
import urllib2
import re
url='http://tieba..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!'
⑻ 為什麼Python寫的爬蟲有時候抓取的數據是亂碼
看下面即可
⑼ 為什麼python寫的爬蟲有時候抓取的數據是亂碼
1. 使用chrome瀏覽器,打開示例頁面http://tieba..com/p/3295185529?see_lz=1
2. 在帖子標題處,右鍵選擇"審查元素",可以看到標題的源代碼
3. 進行簡單的分析,我們需要獲取的是title後面的內容,根據頁面實際內容,我們編寫相應的正則表達式:
title_re=re.compile('<h1 class="core_title_txt " title="(.*?)"')
4. 同理,我們對帖子內容進行"審查元素",得到內容的源代碼
5. 編寫相應的正則表達式如下:
content_re=re.compile('<div id="post_content_\d*" class="d_post_content j_d_post_content ">(.*?)</div>')
6. 這樣通過urllib2打開頁面後,使用上述的正則表達式進行匹配,再對標題和文本內容進行相應的處理即可