Hướng dẫn python get base url - python lấy url cơ sở
Tôi đang cố gắng xác định cơ sở của URL, hoặc mọi thứ ngoài trang và tham số. Tôi đã thử sử dụng Split, nhưng có cách nào tốt hơn là chia nó thành từng mảnh không? Có cách nào tôi có thể loại bỏ mọi thứ từ lần cuối '/' không? Cho điều này: http://127.0.0.1/asdf/login.php Tôi muốn: http://127.0.0.1/asdf/ hỏi ngày 25 tháng 2 năm 2016 lúc 1:13Feb 25, 2016 at 1:13
6
Cách tốt nhất để làm điều này là sử dụng 2.Từ các tài liệu:
Bạn muốn làm điều gì đó như thế này bằng cách sử dụng URLSplit và UrlunSplit:
Đã trả lời ngày 25 tháng 2 năm 2016 lúc 1:27Feb 25, 2016 at 1:27
Dalanmillerdalanmillerdalanmiller 3.3474 Huy hiệu vàng29 Huy hiệu bạc37 Huy hiệu đồng4 gold badges29 silver badges37 bronze badges 3 Vâng, đối với một, bạn chỉ có thể sử dụng 9:
Nó không rõ ràng cho các URL, nhưng nó xảy ra với chúng (ngay cả trên Windows), nó không để lại dấu vết dấu vết (bạn có thể tự thêm nó trở lại). Bạn cũng có thể muốn xem 0 để phân tích phân tích hạt mịn hơn; Nếu URL có chuỗi truy vấn hoặc băm liên quan, bạn muốn phân tích thành từng mảnh, cắt phần 1 được trả về bằng cách phân tích cú pháp, sau đó tái tổ hợp, do đó đường dẫn được cắt mà không mất thông tin truy vấn và băm.Cuối cùng, nếu bạn muốn tách thành phần sau lần cắt cuối cùng, bạn có thể thực hiện 2 với 3 của 4 và giữ thành phần đầu tiên:
Đã trả lời ngày 25 tháng 2 năm 2016 lúc 1:18Feb 25, 2016 at 1:18
ShadowrangershadowrangerShadowRanger 133K12 Huy hiệu vàng172 Huy hiệu bạc247 Huy hiệu Đồng12 gold badges172 silver badges247 bronze badges 4 Có giải pháp ngắn nhất cho Python3 với việc sử dụng thư viện Urllib (không biết nếu nhanh nhất):
Hãy nhớ rằng thư viện Urllib hỗ trợ tương thích URI/URL với từ khóa của HTML. Điều đó có nghĩa là URI/URL kết thúc với '/' có nghĩa là khác nhau mà không giống như ở đây https://stackoverflow.com/a/1793282/7750840/:
Đây là liên kết đến Urllib cho Python: https://pythonprogramming.net/urllib-tutorial-python-3/ Đã trả lời ngày 12 tháng 7 năm 2019 lúc 12:37Jul 12, 2019 at 12:37
Bukasbukasbukas 1512 Huy hiệu bạc2 Huy hiệu đồng2 silver badges2 bronze badges Đồng ý rằng cách tốt nhất để làm điều đó là với 2Cụ thể, bạn có thể phân tách URL bằng 0 và sau đó thay thế mọi thuộc tính khác ngoài 7 và 8 bằng một chuỗi trống. Nếu bạn muốn giữ thuộc tính 1 (như trong câu hỏi của bạn), bạn có thể làm như vậy với một bước phân tích cú pháp chuỗi bổ sung. Chức năng ví dụ dưới đây:
Examples:
Đã trả lời ngày 31 tháng 12 năm 2019 lúc 17:51Dec 31, 2019 at 17:51
Rodmsrodmsrodms 3513 Huy hiệu bạc12 Huy hiệu Đồng3 silver badges12 bronze badges Không cần sử dụng Regex, bạn chỉ có thể sử dụng 0:
Đã trả lời ngày 25 tháng 2 năm 2016 lúc 1:19Feb 25, 2016 at 1:19
pp_pp_pp_ 3.3874 Huy hiệu vàng18 Huy hiệu bạc27 Huy hiệu đồng4 gold badges18 silver badges27 bronze badges Khi bạn sử dụng URLSplit, nó sẽ trả về một đối tượng Splitresult:
Bạn có thể tạo đối tượng splitresult () của riêng bạn và chuyển nó qua UrlunSplit. Mã này sẽ hoạt động cho nhiều phân tách URL, bất kể độ dài của chúng, miễn là bạn biết phần tử đường dẫn cuối cùng bạn muốn là gì.
Đã trả lời ngày 24 tháng 11 năm 2019 lúc 2:05Nov 24, 2019 at 2:05
Có được sự xuất hiện đúng nhất của chém; Sử dụng lát chuỗi thông qua vị trí đó trong chuỗi ban đầu. +1 giúp bạn chém cuối cùng vào cuối.+1 gets you that final slash at the end. 0
Đã trả lời ngày 25 tháng 2 năm 2016 lúc 1:19Feb 25, 2016 at 1:19
3.3874 Huy hiệu vàng18 Huy hiệu bạc27 Huy hiệu đồngPrune Khi bạn sử dụng URLSplit, nó sẽ trả về một đối tượng Splitresult:14 gold badges57 silver badges76 bronze badges 1 Bạn có thể tạo đối tượng splitresult () của riêng bạn và chuyển nó qua UrlunSplit. Mã này sẽ hoạt động cho nhiều phân tách URL, bất kể độ dài của chúng, miễn là bạn biết phần tử đường dẫn cuối cùng bạn muốn là gì. 1Đã trả lời ngày 24 tháng 11 năm 2019 lúc 2:05Aug 31, 2018 at 7:49
bzd111bzd111bzd111 Có được sự xuất hiện đúng nhất của chém; Sử dụng lát chuỗi thông qua vị trí đó trong chuỗi ban đầu. +1 giúp bạn chém cuối cùng vào cuối.3 silver badges5 bronze badges |