當前位置:首頁 » 編程語言 » python爬蟲亂碼

python爬蟲亂碼

發布時間: 2022-04-24 07:07:38

A. 我在寫一個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))


希望能幫到你。

B. python3爬蟲獲取HTML文檔時的問題。

很正常。控制台支持的編碼有限。建議你存到文件再打開看是否正常。
另外頁面寫了是gbk編碼,存文件也試試gbk

C. 為什麼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打開頁面後,使用上述的正則表達式進行匹配,再對標題和文本內容進行相應的處理即可

D. python編寫爬蟲爬到的中文字元總是亂碼,r.encoding也不行

這個頁面是gb2312編碼的,不是utf-8

E. 為什麼Python寫的爬蟲有時候抓取的數據是亂碼

為什麼Python寫的爬蟲有時候抓取的數據是亂碼
寫爬蟲是經常會遇到這樣的問題,這種問題很顯然是編碼問題,解決的方法其實也不難。

你可以用下面的兩個方法來解決你的編碼問題:
第一種是,通過瀏覽器打開你寫的html之後,找到瀏覽器中的文字編碼修改,將編碼改為Unicode編碼,即可修復。

xml takes all the pain out of XML. Stephan Richter lxml是Python語言里和XML以及HTML工作的功能最豐富和最容易使用的庫

F. python3,pycharm,寫爬蟲時遇到列印的結果亂碼,希望得到大神的幫助,謝謝啦

這個問題主要是編碼問題,一般需要檢查系統設置、ide設置、python代碼里的編碼,一致改成utf8一般就沒問題。
windows中文默認是gbk,ide就要相應改成gbk才能顯示完整

G. 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

H. python爬蟲,第一個數據是亂碼,但後面的數據又是正確的,大佬們解答一下呀,謝謝。(附圖)

圖片不清,亂碼可能是意外匹配進來的

I. python3爬蟲抓取網頁亂碼怎麼解決

Python寫程序原則是所有進來的字元串(讀文件,爬網頁),一進來就decode,處理完之後在要輸出的地方在encode。題主讀入(read)和輸出(print)在一行里,要在win下面想不出錯就這么寫 print response.decode('utf-8').encode('gbk')

J. python爬蟲爬到的中文亂碼怎麼辦

爬到的內容,肯定是某種編碼格式(utf-8/gb2312等)的字元串。只需要對它相應的decode一下就可以了。
比如:如果網頁內容是utf-8編碼的,就:'xxx'.decode('utf-8');
如果是gb2312編碼的,就:'xxx'.decode('gb2312')

熱點內容
格物致知編程 發布:2025-07-16 18:07:54 瀏覽:947
戴爾伺服器系統設置如何設置 發布:2025-07-16 18:02:09 瀏覽:958
為什麼換安卓這么難 發布:2025-07-16 17:14:44 瀏覽:421
轉動密碼鎖怎麼開 發布:2025-07-16 17:14:37 瀏覽:611
伺服器和網關ip 發布:2025-07-16 17:09:35 瀏覽:930
如何用net映射伺服器盤符 發布:2025-07-16 17:08:50 瀏覽:13
小飛機android 發布:2025-07-16 16:51:00 瀏覽:236
python獲取api 發布:2025-07-16 16:35:28 瀏覽:740
安卓應用耗電優化是什麼 發布:2025-07-16 16:29:39 瀏覽:502
惠普電腦都有什麼配置的 發布:2025-07-16 15:51:49 瀏覽:520