pythonurl參數解析
㈠ url里有tvid=398da32a9這個信息,怎麼用python提取tvid等號後面的字元串
利用字元串匹配,這是url的參數,首先python 裡面有專門解析url的包urllib,可以將url分成各個部分,你可以獲取參數集合,或者你手動的根據?來截斷字元串,?後面的就是參數集合的字元串了。i
然後split("&")可以將各個參數和值分開。
對每個參數q匹配,q.find("tvid="),如果能匹配到,則根據返回額index號,獲取子串,q[index+5:]
就是最終想要的值了
㈡ python 中提取URL參數時有多個問號怎麼辦
這個要看你用什麼框架來做了,要是用的django就是request.GET.get('userid'),這樣返回1或None
㈢ 誰能告訴我python中urlopen函數data參數的作用和意義
我認為,它指的是客戶端向網路伺服器發起url請求中,將被傳遞給服務介面程序處理所必需的一些參數,比如用戶id、會話id、用戶名、密碼等等。
㈣ Python的urls的參數意義是什麼
regex。用於篩選過濾url
view:用於指定特定的處理方法。就是你在view.py中定義方法
kwargs:可選參數
name:此條規則的別名。用於url 逆向查詢。
另外,建議樓主自己照著官方的tutorial完整練習一遍。會比在這里問,有收獲。
㈤ python 獲取url中參數 例 localhost:8080/loginuserid=1 我想獲取到[userid,1]
這個要看你用什麼框架來做了,要是用的django就是request.GET.get('userid'),這樣返回1或None
㈥ 用python怎麼解析'%3cp%3e%e5%'
import urllib
rawurl=xxx
url=urllib.unquote(rawurl)
所用模塊:urllib
所用函數:urllib.unquote()
案例
import urllib
rawurl = "%E6%B2%B3%E6%BA%90"url = urllib.unquote(rawurl)print url
輸出
河源
問題擴展
urllib.unquote()目的是對url編碼進行解碼,與該函數對應的是編碼函數urllib.quote()
123
>>> import urllib>>> urllib.quote("河源")'%E6%B2%B3%E6%BA%90
URL為何要編碼、解碼?
通常如果一樣東西需要編碼,說明這樣東西並不適合傳輸。原因多種多樣,如Size過大,包含隱私數據。對於Url來說,之所以要進行編碼,是因為Url中有些字元會引起歧義。
例如,Url參數字元串中使用key=value鍵值對這樣的形式來傳參,鍵值對之間以&符號分隔,如/s?q=abc&ie=utf-8。如果你的value字元串中包含了=或者&,那麼勢必會造成接收Url的伺服器解析錯誤,因此必須將引起歧義的&和=符號進行轉義,也就是對其進行編碼。
又如,Url的編碼格式採用的是ASCII碼,而不是Unicode,這也就是說你不能在Url中包含任何非ASCII字元,例如中文。否則如果客戶端瀏覽器和服務端瀏覽器支持的字元集不同的情況下,中文可能會造成問題。
㈦ url編碼問題在python中怎麼解決
最近在抓取一些js代碼產生的動態數據,需要模擬js請求獲得所需用的數據,遇到對url進行編碼和解碼的問題,就把遇到的問題總結一下,有總結才有進步,才能使學到的知識更加清晰。對url進行編碼和解碼,python提供了很方便的介面進行調用。
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') #反過來
函數調用的參數以及結果都是utf-8編碼的,所以在對url編碼時,需要將參數串的編碼從原始編碼轉換成utf-8,
對url解碼時,需要將解碼結果從utf-8轉換成原始編碼格式。
依據網站採用的編碼不同,或是gbk或是utf-8,賦賦予不同的編碼,進行不同的url轉碼。GBK格式,一個中文字元轉為%xx%xx,共兩組;utf-8格式,一個中文字元轉為%xx%xx%xx,共三組。
>>>importsys,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'
a="墨西哥女孩被拐4年接客4萬次生的孩子成為人質-搜狐新聞"
printurllib.quote(urllib.quote(a))
[python]view plain
進行兩次編碼轉換後,會變為:%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中文參數的問題
django中get和post獲取的參數都是unicode格式,實際name是u'u738bu9e4f',即使url中是%xx這樣的格式也不要緊,他會自動轉換會影響保存資料庫和返回,比如你把return改成
returnHttpResponse(name)
㈨ 什麼是python url解析器
python標准庫中有個url解析庫,叫【urlparser】,它的作用是解析給定的url,
並返回一個6-tuple,類型是ParseResult(scheme, netloc, path, params, query, fragment)
在爬蟲方面是很有用的