Я работаю над приложением, которое должно анализировать URL-адреса (в основном HTTP-URL) на страницах HTML - я не контролирую ввод, и некоторые из них, как и ожидалось, немного запутаны.
Одна проблема, с которой я часто сталкиваюсь, заключается в том, что urlparse является очень строгим (и, возможно, даже ошибочным?), Когда дело доходит до парсинга и объединения URL-адресов с двойной косой чертой в пути, например:
testUrl = 'http://www.example.com//path?foo=bar'
urlparse.urljoin(testUrl,
urlparse.urlparse(testUrl).path)
Вместо ожидаемого результата http://www.example.com//path
(или даже лучше, с нормализованной одиночной косой чертой) я получаю http://path
.
Кстати, причина, по которой я запускаю такой код, заключается в том, что пока я нашел единственный способ удалить часть запроса / фрагмента из URL.Может быть, есть лучший способ сделать это, но я не смог его найти.
Кто-нибудь может порекомендовать способ избежать этого, или я должен просто нормализовать путь, используя (я знаю, относительно простое) регулярное выражение?