반응형
URL에서 마지막 슬래시 뒤의 모든 것을 얻는 방법은 무엇입니까?
파이썬에서 URL의 마지막 슬래시 뒤에 오는 것을 어떻게 추출 할 수 있습니까? 예를 들어 이러한 URL은 다음을 반환해야합니다.
URL: http://www.test.com/TEST1
returns: TEST1
URL: http://www.test.com/page/TEST2
returns: TEST2
URL: http://www.test.com/page/page/12345
returns: 12345
urlparse를 시도했지만 page/page/12345
.
멋진 것은 필요하지 않습니다 . 표준 라이브러리의 문자열 메서드를 참조 하면 'filename'부분과 나머지 부분으로 URL을 쉽게 분할 할 수 있습니다.
url.rsplit('/', 1)
따라서 다음과 같이 간단하게 관심있는 부분을 얻을 수 있습니다.
url.rsplit('/', 1)[-1]
한 가지 더 (idio (ma) tic) 방법 :
URL.split("/")[-1]
rsplit
작업에 달려 있어야합니다.
In [1]: 'http://www.test.com/page/TEST2'.rsplit('/', 1)[1]
Out[1]: 'TEST2'
다음과 같이 할 수 있습니다.
head, tail = os.path.split(url)
tail은 파일 이름입니다.
urlparse는 원하는 경우 사용하는 것이 좋습니다 (예 : 쿼리 문자열 매개 변수 제거).
import urllib.parse
urls = [
'http://www.test.com/TEST1',
'http://www.test.com/page/TEST2',
'http://www.test.com/page/page/12345',
'http://www.test.com/page/page/12345?abc=123'
]
for i in urls:
url_parts = urllib.parse.urlparse(i)
path_parts = url_parts[2].rpartition('/')
print('URL: {}\nreturns: {}\n'.format(i, path_parts[2]))
산출:
URL: http://www.test.com/TEST1
returns: TEST1
URL: http://www.test.com/page/TEST2
returns: TEST2
URL: http://www.test.com/page/page/12345
returns: 12345
URL: http://www.test.com/page/page/12345?abc=123
returns: 12345
extracted_url = url[url.rfind("/")+1:];
이를 수행하는보다 일반적인 정규식 방법은 다음과 같습니다.
re.sub(r'^.+/([^/]+)$', r'\1', url)
os.path.basename(os.path.normpath('/folderA/folderB/folderC/folderD/'))
folderD
partition
다음과 rpartition
같은 경우에도 유용합니다.
url.rpartition('/')[2]
Split the url and pop the last element url.split('/').pop()
url ='http://www.test.com/page/TEST2'.split('/')[4]
print url
Output: TEST2
.
참고URL : https://stackoverflow.com/questions/7253803/how-to-get-everything-after-last-slash-in-a-url
반응형
'developer tip' 카테고리의 다른 글
신속하게 현재 시간에 분을 추가하는 방법 (0) | 2020.09.04 |
---|---|
JavaScript로 배열을 쉽게 자르는 방법은 무엇입니까? (0) | 2020.09.04 |
grails localhost 포트를 변경하는 방법은 무엇입니까? (0) | 2020.09.04 |
Android에서 애플리케이션 "링크"공유 (0) | 2020.09.04 |
Android에서 소수점 두 자리로 double을 인쇄하는 방법은 무엇입니까? (0) | 2020.09.04 |