con trăn. Tìm nạp email gmail của bạn từ một người dùng cụ thể
Cải thiện bài viết
Lưu bài viết
Thích bài viết
- Độ khó. Trung bình
- Cập nhật lần cuối. 12 tháng 12 năm 2022
Cải thiện bài viết
Lưu bài viết
Nếu bạn tò mò muốn biết làm thế nào chúng ta có thể tìm nạp e-mail Gmail bằng Python thì bài viết này là dành cho bạn
Như chúng ta đã biết Python là một ngôn ngữ đa tiện ích có thể được sử dụng để thực hiện nhiều tác vụ. Tìm nạp email Gmail mặc dù là một công việc tẻ nhạt nhưng với Python, nhiều thứ có thể được thực hiện nếu bạn thành thạo cách sử dụng nó. Gmail cung cấp quyền truy cập IMAP cho những khách hàng muốn truy cập Gmail mà không cần đăng nhập thủ công vào trình duyệt
Trong trang cài đặt, hãy bật tính năng này trước khi chạy tập lệnh.
Thực hiện.
Các thư viện được sử dụng trong quá trình triển khai này bao gồm imaplib, email. Bạn phải truy cập thủ công và bật quyền truy cập IMAP bằng cách truy cập vào tài khoản Gmail của mình. Sau này, bạn chỉ có thể truy cập tài khoản Gmail của mình mà không cần đăng nhập vào trình duyệt.
- Ba chức năng được xác định trong quá trình triển khai được sử dụng để lấy nội dung email, tìm kiếm email từ một người dùng cụ thể và nhận tất cả email dưới nhãn
- Để hiển thị kết quả, tôi đã gửi email đến id của mình từ tài khoản Gmail khác của mình. Bây giờ tôi sẽ tìm nạp email từ tài khoản Gmail của mình, email này được nhận từ tài khoản Gmail khác của tôi
- Quá trình bắt đầu từ việc tạo kết nối Gmail với sự trợ giúp của thư viện imaplib và chứng minh thông tin đăng nhập Gmail của chúng tôi với nó
- Sau khi đăng nhập, chúng tôi đang chọn email dưới nhãn. Hộp thư đến là phần được gắn nhãn mặc định cho tất cả người dùng. Tuy nhiên, bạn cũng có thể tạo nhãn của riêng mình
- Sau đó, chúng tôi đang gọi chức năng nhận email và cung cấp cho nó tham số từ kết quả chức năng tìm kiếm tôi. e “từ người dùng”
- Trong chức năng nhận email, chúng tôi đang đặt tất cả các email trong một mảng có tên là “msgs”
- Bây giờ in ra để xem mảng msgs
- Bây giờ chúng ta có thể dễ dàng lặp lại mảng này. Chúng tôi đang lặp lại nó theo thứ tự email đến. Sau đó, chúng tôi đang tìm kiếm chỉ mục từ đó nội dung của chúng tôi bắt đầu. Phần lập chỉ mục này sẽ khác nhau đối với các email/người dùng khác nhau và người dùng có thể thay đổi các chỉ mục theo cách thủ công để chỉ in phần mà họ yêu cầu
- Chúng tôi có kết quả của chúng tôi được in ra
Dưới đây là triển khai Python -
Python3
# Importing libraries
import
imaplib, email
user
=
'USER_EMAIL_ADDRESS'
password
=
'USER_PASSWORD'
imap_url
=
import
1
import
2
import
3 import
4
import
5_______1_______6 import
7
import
8import
9 imaplib, email
0imaplib, email
1imaplib, email
2
import
5_______2_______4imaplib, email
5
import
8import
9 imaplib, email
8imaplib, email
9user
0user
1user
2
user
3
import
3 user
5
import
5_______3_______7=
user
9imaplib, email
9=
1=
2=
3=
4=
5
import
5_______1_______9 =
8
=
9
import
3 'USER_EMAIL_ADDRESS'
1
import
5_______5_______3_______4_______ 'USER_EMAIL_ADDRESS'
5_______5_______6
import
5_______5_______8 'USER_EMAIL_ADDRESS'
9password
0 password
1imaplib, email
1_______6_______3
import
8password
5=
password
7password
8user
2
import
8=
1
import
5_______1_______9 'USER_EMAIL_ADDRESS'
3
=
5
=
6_______4_______ =
8
=
9
'USER_PASSWORD'
0
'USER_PASSWORD'
1
'USER_PASSWORD'
2'USER_PASSWORD'
3user
2
'USER_PASSWORD'
5'USER_PASSWORD'
6
'USER_EMAIL_ADDRESS'
3_______4_______ 'USER_PASSWORD'
9imap_url
0user
0imap_url
2imap_url
3
imap_url
4
imap_url
5
imap_url
6
imap_url
7
imap_url
8
imap_url
9
'USER_EMAIL_ADDRESS'
8 import
01password
0 import
03import
04import
05import
06
import
5_______5_______8 import
09password
0 import
11
import
8import
6 import
14import
15import
16 import
17imaplib, email
5
import
19_______1_______20
import
19_______1_______22=
import
24_______1_______25import
05import
27import
28user
2
import
19_______4_______8=
import
24_______1_______34
import
19_______1_______36
import
19_______1_______38imaplib, email
5
import
40_______1_______41=
import
43import
44user
2
import
40_______1_______47=
import
49_______1_______50 import
51imaplib, email
5import
53import
54
import
40_______1_______56=
import
58import
59user
2
import
40_______1_______62
import
40_______1_______64
import
40_______1_______66import
67imaplib, email
1import
69
import
19_______1_______71 import
72
import
40_______1_______74
đầu ra.
Giải thích mã.
- Mã bắt đầu bằng cách nhập thư viện imaplib và email
- Tiếp theo, địa chỉ email và mật khẩu của người dùng được đặt
- URL IMAP cho Gmail cũng được nhập
- Hàm get_body[] được sử dụng để lấy nội dung của email
- Nếu một tin nhắn có nhiều phần thì hàm get_body[] sẽ trả về phần thân của phần đầu tiên của tin nhắn
- Nếu một tin nhắn không phải là nhiều phần, thì get_body[] sẽ trả về toàn bộ tin nhắn dưới dạng một chuỗi
- Hàm search[] được sử dụng để tìm cặp giá trị khóa trong email
- Khóa có thể là bất kỳ chuỗi nào và giá trị có thể là bất kỳ thứ gì có thể được chuyển đổi thành đối tượng Python [trong trường hợp này, nó chỉ là một chuỗi]
- Hàm search[] trả về hai giá trị. kết quả và dữ liệu
- kết quả là một thể hiện của lớp SearchResult, trong khi dữ liệu là một thể hiện của lớp MIMETextMessage [chứa tất cả thông tin về một email bao gồm cả nội dung văn bản của nó]
- Cuối cùng, get_emails[] gọi con. tìm về[]
- Phương thức này có ba đối số. num [số đại diện cho vị trí trong hộp thư chúng tôi muốn bắt đầu tìm nạp email], loại [loại hộp thư chúng tôi muốn truy cập;
- Mã nhập thư viện imaplib và email
- Tiếp theo, người dùng được đặt và mật khẩu cũng được đặt
- URL IMAP cho Gmail được đặt
- Hàm lấy phần nội dung email [body] được định nghĩa
- Hàm này lấy thông báo nhiều phần làm đầu vào và trả về phần nội dung của thông báo làm đầu ra
- Nếu không có tin nhắn nhiều phần, thì nó sẽ trả về tải trọng của tin nhắn đầu tiên trong danh sách dưới dạng đầu ra
- Chức năng tìm kiếm cặp giá trị khóa cũng được xác định
- Hàm này nhận một khóa và một giá trị rồi tìm kiếm cặp giá trị khóa trong dữ liệu đã cho bằng cú pháp biểu thức chính quy Python
- Nếu tìm thấy, nó trả về một đối tượng chứa dữ liệu được liên kết với cặp giá trị khóa
Ghi chú cá nhân của tôi arrow_drop_up
Tiết kiệm