真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網站制作重慶分公司

pythonurl函數(shù) Python中url

url編碼問題在python中怎么解決

最近在抓取一些js代碼產生的動態(tài)數(shù)據,需要模擬js請求獲得所需用的數(shù)據,遇到對url進行編碼和解碼的問題,就把遇到的問題總結一下,有總結才有進步,才能使學到的知識更加清晰。對url進行編碼和解碼,python提供了很方便的接口進行調用。

創(chuàng)新互聯(lián)是一家專注于成都做網站、網站制作、成都外貿網站建設與策劃設計,河曲網站建設哪家好?創(chuàng)新互聯(lián)做網站,專注于網站建設10年,網設計領域的專業(yè)建站公司;建站業(yè)務涵蓋:河曲等地區(qū)。河曲做網站價格咨詢:028-86922220

url中的query帶有特殊字符(不是url的保留字)時需要進行編碼。當url中帶有漢字時,需要特殊的處理才能正確編碼,以下都只針對這種情形,當然也適用于純英文字符的url。

(1) url編碼:

import urllib

url = 'wd=哈哈' ? #如果此網站編碼是gbk的話,需要進行解碼,從gbk解碼成unicode,再從Unicode編碼編碼為utf-8格式。

url = url.decode('gbk', 'replace')

print urllib.quote(url.encode('utf-8', 'replace'))

結果: 3a%2f%2ftest.com%2fs%3fwd%3d%e5%93%88%e5%93%88

(2) url解碼:

import urllib

encoded_url = est.com%2fs%3fwd%3d%e5%93%88%e5%93%88'

print urllib.unquote(encoded_url).decode('utf-8', 'replace').encode('gbk', 'replace') ?#反過來

函數(shù)調用的參數(shù)以及結果都是utf-8編碼的,所以在對url編碼時,需要將參數(shù)串的編碼從原始編碼轉換成utf-8,

對url解碼時,需要將解碼結果從utf-8轉換成原始編碼格式。

依據網站采用的編碼不同,或是gbk或是utf-8,賦賦予不同的編碼,進行不同的url轉碼。GBK格式,一個中文字符轉為%xx%xx,共兩組;utf-8格式,一個中文字符轉為%xx%xx%xx,共三組。

import?sys,urllib?

s?=?'杭州'

urllib.quote(s.decode(sys.stdin.encoding).encode('gbk'))

%BA%BC%D6%DD

urllib.quote(s.decode(sys.stdin.encoding).encode('utf8'))

'%E6%9D%AD%E5%B7%9E'

[python]?view plain?copy

a?=?"墨西哥女孩被拐4年接客4萬次?生的孩子成為人質-搜狐新聞"

print?urllib.quote(urllib.quote(a))

進行兩次編碼轉換后,會變?yōu)椋?25E5%25A2%25A8%25E8%25A5%25BF%25E5%2593%25A5%25E5%25A5%25B3%25E5%25AD%25A9%25E8%25A2%25AB%25E6%258B%25904%25E5%25B9.................................................................................這樣的形式。

同樣需要兩次解碼后才能得到中文。

最近用python寫了個小爬蟲自動下點東西,但是url 是含中文的,而且中文似乎是 gbk 編碼然后轉成 url的。舉個例子吧,我如果有個unicode字符串“歷史上那些牛人們.pdf”,那么我轉換成url之后是,?

t="%20%E5%8E%86%E5%8F%B2%E4%B8%8A%E9%82%A3%E4%BA%9B%E7%89%9B%E4%BA%BA%E4%BB%AC.pdf",?

但是對方網站給的是 s="%C0%FA%CA%B7%C9%CF%C4%C7%D0%A9%C5%A3%C8%CB%C3%C7.PDF"

print urllib.unquote("%C0%FA%CA%B7%C9%CF%C4%C7%D0%A9%C5%A3%C8%CB%C3%C7.PDF").decode('gbk').encode('utf-8')

歷史上那些牛人們.PDF

python里怎么獲得一個url最后一個/后的字符串

1、python處理字符串非常簡單,獲取url最后一個/之后的字符串,使用字符串函數(shù)rindex得到最后一個/位置,然后再對url字符串進行切片就可以得到url最后一個/后的字符串

2、代碼:

url = ''

ri = url.rindex('/')

ss = url[ri + 1:]

print(ss)

3、輸出果:

1242758094522051179.html

4、函數(shù)說明:

rindex(...)

S.rindex(sub[,

start[,

end]])

-

int

從字符串右則查找指字符串,sub要查找了內容,start起始位置,end結束位置,函數(shù)返回位置。

5、字符串切片說明:

str[start:end]

獲取字符串以start開始位置end位置之前的字符結束的字符,如果start為空為從字符串起始開始,如果end為空則到字符串末尾。以示例中代碼為例url[ri

+

1:]就是取url中ri+1位置到url結尾的子字符串。

python爬蟲怎么獲取到的網站的所有url

首先我們可以先獲取要下載圖片的整個頁面信息。

getjpg.py

#coding=utf-8

import urllib

def getHtml(url):

page = urllib.urlopen(url)

html = page.read()

return html

print html

Urllib 模塊提供了讀取web頁面數(shù)據的接口,我們可以像讀取本地文件一樣讀取www和ftp上的數(shù)據。首先,我們定義了一個getHtml()函數(shù):

urllib.urlopen()方法用于打開一個URL地址。

read()方法用于讀取URL上的數(shù)據,向getHtml()函數(shù)傳遞一個網址,并把整個頁面下載下來。執(zhí)行程序就會把整個網頁打印輸出。


標題名稱:pythonurl函數(shù) Python中url
網站鏈接:http://weahome.cn/article/hghopp.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部