Python yêu cầu tải xuống video
Bài viết hướng dẫn các bạn mới học cú pháp python có thể sử dụng yêu cầu thư viện của python để tải ảnh của tài khoản Instagram một cách đơn giản Chuẩn bịcài đặt yêu cầu thư viện. 4PartitionĐầu tiên, chúng ta truy cập vào trang của người dùng để thu thập dữ liệu ảnh F12 -> mạng , dễ dàng tìm thấy api để lấy ảnh của instagram
api has format
đầu tiên. image number will get started from after. With after = "" they ta has been 12 first image (after = end_cursor of request before it) Do đó, quá trình thu thập dữ liệu của chúng ta sẽ là yêu cầu api đầu tiên -> Crawl ảnh, end_cursor .quá trình thu thập ảnh. Sử dụng kết quả từ yêu cầu api -> chuyển sang json -> kiểm tra xem bài viết là ảnh hay video-> Kiểm tra xem có bao gồm các ảnh khác không -> lấy các url ảnh Python cung cấp các mô-đun khác nhau như urllib, yêu cầu, v.v. để tải xuống các tệp từ web. Tôi sẽ sử dụng thư viện yêu cầu của python để tải xuống các tệp từ URL một cách hiệu quả Hãy bắt đầu xem quy trình từng bước để tải xuống tệp bằng URL bằng thư viện yêu cầu− 1. Nhập mô-đunimport requests 2. Nhận liên kết hoặc urlurl = 'https://www.facebook.com/favicon.ico' r = requests.get(url, allow_redirects=True) 3. Lưu nội dung với tênopen('facebook.ico', 'wb').write(r.content) lưu tệp dưới dạng facebook. ico Thí dụimport requests url = 'https://www.facebook.com/favicon.ico' r = requests.get(url, allow_redirects=True) open('facebook.ico', 'wb').write(r.content) Kết quảChúng tôi có thể thấy tệp được tải xuống (biểu tượng) trong thư mục làm việc hiện tại của chúng tôi Nhưng chúng tôi có thể cần tải xuống các loại tệp khác nhau như hình ảnh, văn bản, video, v.v. từ web. Vì vậy, trước tiên hãy lấy loại dữ liệu mà url đang liên kết đến− >>> r = requests.get(url, allow_redirects=True) >>> print(r.headers.get('content-type')) image/png Tuy nhiên, có một cách thông minh hơn, đó là chỉ cần tìm nạp các tiêu đề của url trước khi thực sự tải xuống. Điều này cho phép chúng tôi bỏ qua việc tải xuống các tệp không được tải xuống ________số 8Để hạn chế tải xuống theo kích thước tệp, chúng tôi có thể lấy tệp tin từ tiêu đề độ dài nội dung và sau đó thực hiện theo yêu cầu của chúng tôi contentLength = header.get('content-length', None) if contentLength and contentLength > 2e8: # 200 mb approx return False Nhận tên tệp từ một URLĐể lấy tên tệp, chúng ta có thể phân tích cú pháp url. Dưới đây là một quy trình mẫu tìm nạp chuỗi cuối cùng sau dấu gạch chéo ngược (/) 0Ở trên sẽ cung cấp tên tệp của url. Tuy nhiên, có nhiều trường hợp thông tin tên tệp không có trong url chẳng hạn – http. // url. com/tải xuống. Trong trường hợp như vậy, chúng ta cần lấy tiêu đề Bố trí nội dung, chứa thông tin tên tệp 1Đoạn mã phân tích cú pháp url ở trên kết hợp với chương trình trên sẽ cung cấp cho bạn tên tệp từ tiêu đề Bố trí nội dung hầu hết thời gian |