所以我有一個字符串,我有一個URL。 的URL /串是這樣的:
https://example.com/main/?code=32ll48hma6ldfm01bpki&data=57600&data2=aardappels
我想要得到的code
但我coulnd't弄清楚如何。我看着.split()
方法。但我不認爲它是有效的。我真的找不到一種方法來實現它的工作。
Python:從URL查詢字符串獲取數據
回答
正如@IronFist所提到的,.split()方法只有在您假設代碼參數中沒有'&'時才起作用。如果沒有,你可以使用.split()方法幾次並獲得所需的代碼放慢參數:從urlparse模塊
url = "https://example.com/main/?code=32ll48hma6ldfm01bpki&data=57600&data2=aardappels"
code = url.split('/?')[1].split('&')[0]
使用正則表達式:
>>> import re
>>> url = 'https://example.com/main/?code=32ll48hma6ldfm01bpki&data=57600&data2=aardappels'
>>> code = re.search("code=([0-9a-zA-Z]+)&?", url).group(1)
>>> print code
32ll48hma6ldfm01bpki
只需要代碼參數。 – Learner
@Learner對不起,錯誤複製答案... – Javitronxo
無法保證「數據」將在'代碼'後面的查詢字符串中的下一個字段。可能最好只是閱讀'&'。除非'code'是查詢字符串中的最後一個字段,否則請閱讀'$'。或者只使用urlparse。 – PaulMcG
有很多方法在做這個!更簡單的方法是使用urlparse。另一種方法是使用正則表達式,但專家建議在URL上使用正則表達式可能很乏味,代碼變得非常難以維護。
另一個簡單的方法如下圖所示,
str1 = 'https://example.com/main/?code=32ll48hma6ldfm01bpki&data=57600&data2=aardappels'
codeStart = str1.find('code=')
codeEnd = str1.find('&data=')
print str1[codeStart+5:codeEnd]
- 1. 從查詢字符串獲取數據
- 2. 從Python查詢字符串獲取數據
- 3. 獲取URL查詢字符串和PHP
- 4. 獲取當前url查詢字符串
- 5. 獲取URL查詢字符串不
- 6. 從mvc讀取查詢字符串url
- 7. 從JavaScript中獲取來自URL的查詢字符串參數
- 8. 從提取URL獲取查詢字符串(如果存在)
- 9. 從字符串獲取URL
- 10. 從URL字符串中提取查詢字符串
- 11. 在URL的末尾獲取查詢字符串並使用它獲取數據
- 12. 從Javascript獲取查詢字符串值
- 13. 從查詢字符串獲取變量
- 14. 從URLReferrer獲取查詢字符串
- 15. 從URL獲取查詢字符串並將查詢字符串作爲新URL使用javascript
- 16. 如何從PHP的字符串像查詢字符串中獲取數據?
- 17. 從javascript中的查詢字符串中獲取數據
- 18. Ajax - 從查詢字符串獲取數據
- 19. 從PHP中的查詢字符串獲取數據
- 20. 從url中獲取參數字符串
- 21. 從SP2013應用程序獲取Sharepoint URL的查詢字符串
- 22. jquery從url中獲取查詢字符串
- 23. 從url查詢字符串獲取具體的值
- 24. 從可能相對的URL獲取查詢字符串
- 25. 如何從URL獲取多個查詢字符串值?
- 26. 如何從URL中獲取查詢字符串
- 27. 如何從URL中獲取查詢字符串
- 28. 從java上的查詢字符串獲取參數字符'#'
- 29. Owin獲取查詢字符串參數
- 30. 從python中的URL獲取查詢字符串的最佳方式?
你有沒有嘗試爲它編寫一個程序? – Nik
所以你想獲得'代碼'查詢參數的值? –
使用['urlparse'](https://docs.python.org/2/library/urlparse.html)等已包含的模塊進行研究。然而,你也可以用'split()'來做這個簡單的事情 - 我不知道爲什麼你在第一次得到解決方案之前擔心效率。 – birryree