2012-05-09 68 views
1

目前使用beautifulsoup找到這一個標籤,它的y值回報:Python - 有沒有更有效的方法來找到這些參數值?

Longitude = re.search("Longitude\=[\d]+\.[\d]+", str(y)).group(0) 

回報「經度= 27.2115500」

有沒有更好的方式來回報BUSINESSNAME的值,地址,Latitude,Longitude和AdvertiserID,其中y的值爲:

<a href="http://maps.website.com/default.aspx?AdvertiserID=ZZ_13130030_5182_000761&amp;Latitude=-18.1320800&amp;Longitude=17.2115500&amp;BusinessName=ACME Ltd&amp;Address=55 Nowhere Rd In This Town&amp;telno=&amp;advertiser=location&amp;routeType=to&amp;origincoords=-18.1320800|17.2115500#tabs-2;" 
onclick="dcsMultiTrack('DCSext._mainreq','','DCSext.linktype','get directions','DCSext.linkplace','','DCSext.linkvalue','','DCSext.show_listingId','ZZ_13130030_5182_000761_8378972_IYMX','DCSext.show_zoningUsed','0','DCSext.show_resultNumber','2')" target="_blank">Get directions</a>''' 
+0

錯誤在我的帖子..現在應該在標籤顯示值,,, sorry..i'm還是新... –

回答

2

您可以閱讀與標籤的物業:href = tag["href"],然後得到的參數:

from urlparse import urlparse 
    o = urlparse(href) 
    params = dict(query.split("=") for query in o.query.split("&")) 

,那麼你可以得到價值:

params["Longitude"], params["BusinessName"]

+0

偉大! THX很多真正幫助......來自這兩個解決方案 –

+0

卻困在這一個重新學習....當BUSINESSNAME包含像「B&B」或「X&Y」 什麼建議的話呢? –

+0

@smeimax ...對不起,我沒有看到簡單的方法來處理這個... – wong2

2

使用urlparse

>>> import urlparse 
>>> the_url = """ 
http://maps.website.com/default.aspx?AdvertiserID=ZZ_13130030_5182_000761&amp;Latitude=-18.1320800&amp;Longitude=17.2115500&amp;BusinessName=ACME Ltd&amp;Address=55 Nowhere Rd In This Town&amp;telno=&amp;advertiser=location&amp;routeType=to&amp;origincoords=-18.1320800|17.2115500#tabs-2; 
""" 
>>> query_string = urlparse.parse_qs(urlparse.urlparse(the_url)[4]) 
>>> query_string['AdvertiserID'][0] 
+0

GET一個err = query_string = urlparse.parse_qs(urlparse.urlparse(the_url)[4]) AttributeError:'function'對象沒有屬性'parse_qs' –

+0

我也被困在這一個... 使用Python 2.7。 3不斷獲取上述錯誤... –

+0

確保您使用['urllparse'(http://docs.python.org/library/urlparse.html),而不是['urllib.urlparse'(HTTP: //docs.python.org/release/3.0.1/library/urllib.parse.html#urllib.parse.urlparse)。 –

0

在Python 3.5:

import urllib 
from urllib.parse import urlparse 

url = 'http://tupagina.com/?var1=6e5d8&var2=40' 
#url = str(request.get_full_path()) 
parsed = urlparse(url) 
qs = urllib.parse.parse_qs(parsed.query) 
var1 = qs['var1'][0] 
var2 = qs['var2'][0] 
相關問題