Tôi đang sử dụng phương pháp urllib2.urlopen
để mở URL và tìm nạp đánh dấu trang web. Một số trang web này chuyển hướng tôi bằng cách sử dụng chuyển hướng 301/302. Tôi muốn biết URL cuối cùng mà tôi đã được chuyển hướng đến. Làm thế nào tôi có thể nhận được điều này?Tôi làm cách nào để nhận URL chuyển hướng cuối cùng khi sử dụng urllib2.urlopen?
17
A
Trả lời
31
Gọi phương thức .geturl()
của đối tượng tệp được trả về. Theo urllib2
docs:
geturl()
- trả lại URL của tài nguyên lấy ra, thường được sử dụng để xác định xem một chuyển hướng đã được theo sau
Ví dụ:
import urllib2
response = urllib2.urlopen('http://tinyurl.com/5b2su2')
response.geturl() # 'http://stackoverflow.com/'
4
Giá trị trả về của urllib2.urlopen
có phương thức geturl()
sẽ trả về url thực tế (tức là chuyển hướng cuối cùng).
0
Bạn có thể sử dụng HttpLib2
với follow_all_redirects = True
và nhận được content-location
từ tiêu đề phản hồi. Xem my answer to 'httplib is not getting all the redirect codes' để biết ví dụ.
1
ví dụ .: urllib2.urlopen('ORIGINAL LINK').geturl()
urllib2.urlopen(urllib2.Request('ORIGINAL LINK')).geturl()
Các vấn đề liên quan
- 1. Làm cách nào để nhận URL cuối cùng, được chuyển hướng, chuẩn của một trang web sử dụng PHP?
- 2. Nhận URL khi xử lý urllib2.URLError
- 3. Làm thế nào tôi có thể nhận được URL cuối cùng sau khi chuyển hướng bằng Ruby?
- 4. Nhận url cuối cùng từ đối tượng XHR sau khi chuyển hướng
- 5. Làm cách nào để tìm URL cuối cùng sau tất cả các chuyển hướng trong Perl?
- 6. java URLConnection có được chuyển hướng URL cuối cùng
- 7. python urllib2 urlopen phản ứng
- 8. Python: Nhận tiêu đề HTTP từ cuộc gọi urllib2.urlopen?
- 9. Nhận url sau khi curl được chuyển hướng
- 10. urllib.urlopen hoạt động nhưng urllib2.urlopen không
- 11. `urllib2` của Python: Tại sao tôi gặp lỗi 403 khi tôi` urlopen` một trang Wikipedia?
- 12. urllib2.urlopen() vs urllib.urlopen() - urllib2 ném 404 trong khi urllib hoạt động! TẠI SAO?
- 13. Tôi cần xử lý lỗi nào/ngoại lệ với urllib2.Request/urlopen?
- 14. Khi nào tôi nên sử dụng cuối cùng-block trong Java try-catch-cuối cùng
- 15. Trong golang, làm thế nào để xác định URL cuối cùng sau một loạt các chuyển hướng?
- 16. Python: urllib2.urlopen (url, dữ liệu) Tại sao bạn phải urllib.urlencode() dữ liệu?
- 17. biểu mẫu jquery ajax - cách nhận url chuyển hướng?
- 18. Làm cách nào để sử dụng công cụ Scala để nhận URL được trả lại trong chuyển hướng 301?
- 19. Tôi làm cách nào để có được url chuyển hướng bằng javascript?
- 20. Cách nhận URL và nội dung được chuyển hướng bằng cách sử dụng HttpURLConnection
- 21. Làm cách nào để nhận được url được chuyển hướng từ mô-đun yêu cầu nodejs?
- 22. Làm thế nào để làm một bài/chuyển hướng/nhận được bằng cách sử dụng Sinatra?
- 23. Nhận URL sau khi chuyển hướng bằng HttpClient.Execute (HttpGet)
- 24. làm thế nào để trích xuất giá trị cuối cùng trong URL sử dụng JQuery
- 25. Làm cách nào để xác định phần tử cuối cùng khi sử dụng trình lặp?
- 26. Làm cách nào để lấy URL cuối cùng được tìm nạp bởi cURL?
- 27. cURL nhận url từ chuyển hướng
- 28. Tôi làm cách nào để rút ngắn URL bằng python?
- 29. Nhận URL được chuyển hướng từ URL gốc
- 30. Làm cách nào để nhận urllib2 ghi lại TẤT CẢ byte đã chuyển
làm thế nào để xử lý khi có nhiều url trung gian và tôi muốn url cuối cùng? Điều này không làm việc cho trường hợp đó. – Kishan