完全なURLを見つけるための私の通常の方法は次のとおりです。
resp = urllib.request.urlopen('http://www.example.com')
base_url = resp.geturl()
# find the wanted (relative) url in the resp by using BeautifulSoup4
full_url = urljoin(base_url, relative_url)
ただし、http://www.titanquest.net/tq-forum/forums/72-Underlordなどの一部の Web サイトでは、base_url と full_url が間違っています。
>>> full_url
'http://www.titanquest.net/tq-forum/forums/72-Underlord'
>>> relative_url
'threads/43456-Epic-items?s=26260c54fd856499bff7a57e3c7ceb94'
>>> urljoin(full_url, relative_url)
'http://www.titanquest.net/tq-forum/forums/threads/43456-Epic-items?s=26260c54fd856499bff7a57e3c7ceb94'
正しい URL は次のとおりです。
http://www.titanquest.net/tq-forum/threads/43456-Epic-items?s=26260c54fd856499bff7a57e3c7ceb94
私の質問は、正しいbase_url、したがってfull_urlを生成する方法です。