pythonurllib中文
① python抓取網頁中文信息
#-*-coding:utf-8-*-
importurllib
importre
#使用正則表達式限定抓取的網頁地址
regex=r'<ahref="(.+?)"target="_blank"><strongclass="'
pat=re.compile(regex)
page=1
url="
info=urllib.urlopen(url).read()
Sub_pages=re.findall(pat,info)
#獲得網址中所有產品信息
regex=r'<td>(.+?) </td>'
pat=re.compile(regex)
forpageinSub_pages:
content=urllib.urlopen(page).read()
info=re.findall(pat,content)
print' '.join(info)#改成這樣試試
② Python3.x urllib 或 requests 可以 post 中文嗎
1. post 過去是什麼就是什麼,這個都是看後台如何寫的。根本不需要做什麼 encode 。
2. 如果你的問題是 post 過去的中文亂碼了?是不是伺服器中文沒有使用 utf8 編碼,大家都用 utf8 就好了。或者你匹配後端的編碼格式。
3. 其實這個和 python 沒關系,這就是標准 http 呀,你用 curl\postman 等工具都可以 post 。 python post 方式和他們一樣的,只是用 python 代碼實現而已。
③ 如何在urllib2中post中文(Python)
那個參數字元串可能會是中文,就直接param_text.encode('utf-8'),不要等到最後再集中編碼。
④ python ,urllib2下載一個網頁文件,下載文件中文亂碼,該如何轉換成正常數據呢如圖
網頁一般是utf-8的編碼,你輸出出來用gbk或gb2312的編碼試試
⑤ [Python 2.7]請教一個urllib.unquote函數write亂碼的問題(utf-8和gbk相關)
這個問題挺好回答的。涉及三個問題:
windows下,命令行下預設是只支持GBK,GB18030。 所以print的內容如果是unicode或者是GBK結尾自然可以。東方名珠被unquote後,它是UTF-8編碼。所以直接print無效。亂碼。
記事本,會自動編碼識別,支持GBK,UTF-8。不過優先選擇GBK。
quote與unquote只會將byte做一次escap後,變成URL規范的東西。並不會改變原始內容的編碼。
還有疑問嗎?
⑥ python如何打開中文網址
因為不支持中文路徑 所以中文命名的網頁和文件夾在瀏覽器中用HTTP的方式訪問是打不開的 只能用英文
⑦ python怎麼讀
python 英[ˈpaɪθən] 美[ˈpaɪθɑːn]
Python是一種跨平台的計算機程序設計語言。是一種面向對象的動態類型語言,最初被設計用於編寫自動化腳本(shell),隨著版本的不斷更新和語言新功能的添加,越來越多被用於獨立的、大型項目的開發。
Python是一種解釋型腳本語言,可以應用於以下領域:
1、Web 和 Internet開發
2、科學計算和統計
3、教育
4、桌面界面開發
5、軟體開發
6、後端開發
(7)pythonurllib中文擴展閱讀
因為python的腳本特性,python易於配置,對字元的處理也非常靈活,加上python有豐富的網路抓取模塊,所以兩者經常聯系在一起。 簡單的用python自己的urllib庫也可以;用python寫一個搜索引擎,而搜索引擎就是一個復雜的爬蟲。從這里你就了解了什麼是Python爬蟲,是基於Python編程而創造出來的一種網路資源的抓取方式,Python並不是爬蟲。
抓取的網頁通常需要處理,比如過濾html標簽,提取文本等。python的beautifulsoap提供了簡潔的文檔處理功能,能用極短的代碼完成大部分文檔的處理。
⑧ python的urllib庫中的parse.urlencode不是已經編碼了嗎,為什麼還要encode(「utf-8」)
urlencode這個是urlencode,這個編碼是把特殊字元用%20之類的東東替換,
utf8是設置字元編碼的,如果有中文防止產生路亂碼
⑨ python怎麼將url的中文怎麼轉碼
先引入urllib模塊
假如我們要對下面的url進行轉碼,注意觀察各種字元的變化
使用quote方法,進行轉碼
我們看看轉碼得到的結果:
我們想要得到原先的url,可以使用quote的逆函數unquote
得到反轉碼以後的url,我們看到這種方法並沒有返回中文字元。
⑩ python在網頁上爬取數據然後輸入mysql,python中直接輸出是中文,在mysql的表中打開變成亂碼了。
你如果是用 MySQLdb 操作的資料庫,那麼執行完sql語句後需要commit。例:
conn = MySQLdb.connect(user='xxx', db='xxx', passwd='xxx', host='127.0.0.1', use_unicode=True, charset='utf8')
cur = conn.cursor()
cur.execute('update table set xxx=xxx')
conn.commit()
cur.close()
conn.close()