行うこと:
from urllib.parse import urljoin
urljoin('https://site/folder', 'page')
を返しますhttps://site/page
。その後、それは大丈夫です、私は1つを追加することができます/
。しかし、私の変数がすでにあり/
、別の変数を追加すると、二重のバーが表示されます。
urljoin('https://site/folder//', 'page')
>>> 'https://site/folder//page'
//
URLを結合するときにこの二重バーを許可するURLjoinは間違っていませんか?
次のようなURLパーツのリストに参加するにはどうすればよいですか。
urljoin('https://site/folder', 'page', 'otherpage' )
> https://site/folder/page/otherpage
urljoin('https://site/folder', 'page', 'otherpage.jsf' )
> https://site/folder/page/otherpage.jsf
urljoin('https://site/folder/' , 'page.htm', )
> https://site/folder/page.htm
urljoin('https://site/folder//', '/page', '///otherpage' )
> https://site/folder/page/otherpage
urljoin('https://site/folder//', '//page/', '//otherpage.php' )
> https://site/folder/page/otherpage.php
urljoin('https://site/folder//', 'page', '/otherpage////' )
> https://site/folder/page/otherpage
私はそれを行うためのさまざまな方法があると確信しています
from urllib.parse import urljoin
from functools import reduce # python3
def clean_url(url):
return url.strip('/') + '/'
def joinurllist(urls):
return reduce(urljoin, map(clean_url, urls))
joinurllist(['https://site/folder//', 'page', '///otherpage/'])
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加