Crawl hết ảnh trên instagram của một user với Python requests.

Tram Ho

Giới thiệu

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 thư viện requests của python để download ảnh của một tài khoản Instagram một cách đơn giản .

Chuẩn bị

cài đặt thư viện requests : pip install requests

Phân tích

Đầu tiên, chúng ta truy cập vào page của user cần crawl ảnh
F12 -> network , dễ dàng tìm được api để lấy ảnh của instagram

api có dạng:

first: số ảnh sẽ lấy bắt đầu từ after.
Với after = “” chúng ta có được 12 ảnh đầu tiên (after = end_cursor của requests trước nó)

Vậy quá trình crawl của chúng ta sẽ là
request api đầu tiên -> Crawl ảnh, end_cursor, kiểm tra còn trang phía sau không? -> lại gửi api với end_cursor ở lần gọi api trước nếu còn.

quá trình Crawl ảnh : Sử dụng kết quả từ requests api -> chuyển sang json -> check xem bài viết là ảnh hay video->Check xem có gồm các ảnh khác không -> lấy các url ảnh

Kiểm tra có trang tiếp theo hay không và lấy end_cursor:

Cuối cùng, tạo thư mục mới và tải ảnh:

Full Code :

Bạn có thể tải source code về, thay id bằng id tìm được trong api để bắt đầu tải ảnh.

p/s: code được viết một cách thô sơ nhất, khuyến khích sửa lại để clean hơn.

Chia sẻ bài viết ngay

Nguồn bài viết : Viblo