Mã nguồn trang đăng nhập python

Các hướng dẫn quét web đã được đề cập trước đây, do đó, hướng dẫn này chỉ đề cập đến khía cạnh truy cập vào các trang web bằng cách đăng nhập bằng mã thay vì thực hiện thủ công bằng cách sử dụng trình duyệt

Để hiểu hướng dẫn này và có thể viết các kịch bản để đăng nhập vào các trang web, bạn cần có một số hiểu biết về HTML. Có thể không đủ để xây dựng các trang web tuyệt vời, nhưng đủ để hiểu cấu trúc của một trang web cơ bản

Cài đặt

Điều này sẽ được thực hiện với các thư viện Requests và BeautifulSoup Python. Ngoài các thư viện Python đó, bạn sẽ cần một trình duyệt tốt như Google Chrome hoặc Mozilla Firefox vì chúng rất quan trọng để phân tích ban đầu trước khi viết mã

Các thư viện Yêu cầu và BeautifulSoup có thể được cài đặt bằng lệnh pip từ thiết bị đầu cuối như bên dưới

yêu cầu cài đặt pip
pip cài đặt BeautifulSoup4

Để xác nhận sự thành công của quá trình cài đặt, hãy kích hoạt trình bao tương tác của Python, thao tác này được thực hiện bằng cách nhập python vào thiết bị đầu cuối

Sau đó nhập cả hai thư viện

nhập yêu cầu
từ bs4 nhập BeautifulSoup

Quá trình nhập thành công nếu không có lỗi

Quá trình

Đăng nhập vào một trang web bằng tập lệnh yêu cầu kiến ​​thức về HTML và ý tưởng về cách thức hoạt động của trang web. Hãy xem xét ngắn gọn cách thức hoạt động của web

Các trang web được tạo thành từ hai phần chính, phía máy khách và phía máy chủ. Phía máy khách là một phần của trang web mà người dùng tương tác, trong khi phía máy chủ là một phần của trang web nơi logic nghiệp vụ và các hoạt động máy chủ khác như truy cập cơ sở dữ liệu được thực thi

Khi bạn thử mở một trang web thông qua liên kết của nó, bạn đang yêu cầu phía máy chủ tìm nạp cho bạn các tệp HTML và các tệp tĩnh khác như CSS và JavaScript. Yêu cầu này được gọi là yêu cầu GET. Tuy nhiên, khi bạn đang điền vào biểu mẫu, tải lên tệp phương tiện hoặc tài liệu, tạo bài đăng và nhấp vào nút gửi, giả sử bạn đang gửi thông tin đến phía máy chủ. Yêu cầu này được gọi là yêu cầu POST

Việc hiểu hai khái niệm đó sẽ rất quan trọng khi viết kịch bản của chúng tôi

Kiểm tra trang web

Để thực hành các khái niệm của bài viết này, chúng tôi sẽ sử dụng trang web Quotes To Scrape

Đăng nhập vào các trang web yêu cầu thông tin như tên người dùng và mật khẩu

Tuy nhiên, vì trang web này chỉ được sử dụng như một bằng chứng về khái niệm, mọi thứ đều ổn. Do đó, chúng tôi sẽ sử dụng quản trị viên làm tên người dùng và 12345 làm mật khẩu

Đầu tiên, điều quan trọng là phải xem nguồn trang vì điều này sẽ cung cấp tổng quan về cấu trúc của trang web. Điều này có thể được thực hiện bằng cách nhấp chuột phải vào trang web và nhấp vào “Xem nguồn trang”. Tiếp theo, bạn kiểm tra biểu mẫu đăng nhập. Bạn làm điều này bằng cách nhấp chuột phải vào một trong các hộp đăng nhập và nhấp vào kiểm tra phần tử. Khi kiểm tra phần tử, bạn sẽ thấy các thẻ đầu vào và sau đó là thẻ biểu mẫu gốc ở đâu đó phía trên nó. Điều này cho thấy rằng các thông tin đăng nhập về cơ bản là các biểu mẫu được đăng lên phía máy chủ của trang web

Bây giờ, lưu ý thuộc tính tên của các thẻ đầu vào cho hộp tên người dùng và mật khẩu, chúng sẽ cần thiết khi viết mã. Đối với trang web này, thuộc tính tên cho tên người dùng và mật khẩu lần lượt là tên người dùng và mật khẩu

Tiếp theo, chúng ta phải biết liệu có các tham số khác quan trọng để đăng nhập hay không. Hãy nhanh chóng giải thích điều này. Để tăng tính bảo mật của các trang web, mã thông báo thường được tạo để ngăn chặn các cuộc tấn công giả mạo trang web chéo

Do đó, nếu những mã thông báo đó không được thêm vào yêu cầu POST thì đăng nhập sẽ không thành công. Vì vậy, làm thế nào để chúng ta biết về các thông số như vậy?

Chúng tôi sẽ cần sử dụng tab Mạng. Để có được tab này trên Google Chrome hoặc Mozilla Firefox, hãy mở Công cụ dành cho nhà phát triển và nhấp vào tab Mạng

Khi bạn đang ở trong tab mạng, hãy thử làm mới trang hiện tại và bạn sẽ nhận thấy các yêu cầu đến. Bạn nên cố gắng coi chừng các yêu cầu POST được gửi khi chúng tôi thử đăng nhập

Đây là những gì chúng tôi sẽ làm tiếp theo, trong khi mở tab Mạng. Nhập chi tiết đăng nhập và thử đăng nhập, yêu cầu đầu tiên bạn thấy phải là yêu cầu POST

 

Nhấp vào yêu cầu POST và xem các tham số biểu mẫu. Bạn sẽ nhận thấy trang web có tham số csrf_token có giá trị. Giá trị đó là một giá trị động, do đó, chúng tôi cần nắm bắt các giá trị đó bằng cách sử dụng yêu cầu GET trước khi sử dụng yêu cầu POST

Đối với các trang web khác mà bạn sẽ làm việc, có thể bạn không thấy csrf_token nhưng có thể có các mã thông báo khác được tạo động. Theo thời gian, bạn sẽ hiểu rõ hơn về các tham số thực sự quan trọng khi thực hiện đăng nhập

Mật mã

Đầu tiên, chúng ta cần sử dụng Requests và BeautifulSoup để truy cập vào nội dung trang của trang đăng nhập

từ nhập phiên
từ bs4 import BeautifulSoup as bs
 
with Session[] as s:
      trang web = s. lấy["http. //dấu ngoặc kép. để cạo. com/login"]
      in[site.nội dung]

 

Điều này sẽ in ra nội dung của trang đăng nhập trước khi chúng tôi đăng nhập và nếu bạn tìm kiếm từ khóa “Đăng nhập”. Từ khóa sẽ được tìm thấy trong nội dung trang cho thấy chúng tôi chưa đăng nhập

Tiếp theo, chúng tôi sẽ tìm kiếm từ khóa csrf_token được tìm thấy như một trong các tham số khi sử dụng tab mạng trước đó. Nếu từ khóa hiển thị khớp với thẻ đầu vào, thì giá trị có thể được trích xuất mỗi khi bạn chạy tập lệnh bằng BeautifulSoup

từ nhập phiên
từ bs4 import BeautifulSoup as bs
 
with Session[] as s:
      trang web = s. lấy["http. //dấu ngoặc kép. để cạo. com/login"]
    bs_content = bs [site.nội dung, "html. trình phân tích cú pháp"]
    mã thông báo = . tìm["đầu vào", {"name":"csrf_token"}]["value"]
    login_data = {"username":"quản trị","mật khẩu" . "12345", "csrf_token" . mã thông báo}
    s. đăng["http. //dấu ngoặc kép. để cạo. com/login", login_data ]
    home_page = s.lấy["http. //dấu ngoặc kép. để cạo. com"]
    in[ . nội dung]

Thao tác này sẽ in nội dung của trang sau khi đăng nhập và nếu bạn tìm kiếm từ khóa “Đăng xuất”. Từ khóa sẽ được tìm thấy trong nội dung trang cho thấy rằng chúng tôi đã có thể đăng nhập thành công

Hãy xem xét từng dòng mã

từ nhập phiên
từ bs4 import BeautifulSoup as bs

Các dòng mã trên được sử dụng để nhập đối tượng Phiên từ thư viện yêu cầu và đối tượng BeautifulSoup từ thư viện bs4 bằng bí danh bs

với Phiên [] như s:

Phiên yêu cầu được sử dụng khi bạn có ý định giữ ngữ cảnh của yêu cầu, do đó, cookie và tất cả thông tin của phiên yêu cầu đó có thể được lưu trữ

bs_content = bs [trang web.nội dung, "html. trình phân tích cú pháp"]
mã thông báo = bs_content. tìm["đầu vào", {"name":"csrf_token"}]["value"]

Mã này ở đây sử dụng thư viện BeautifulSoup để có thể trích xuất csrf_token từ trang web rồi gán cho biến mã thông báo. Bạn có thể tìm hiểu về trích xuất dữ liệu từ các nút bằng BeautifulSoup

login_data = {"tên người dùng" . "quản trị","mật khẩu" . "12345", "csrf_token" . mã thông báo}
s. bài đăng["http. //dấu ngoặc kép. để cạo. com/login", login_data ]

Mã ở đây tạo một từ điển các tham số được sử dụng để đăng nhập. Các khóa của từ điển là thuộc tính tên của các thẻ đầu vào và các giá trị là thuộc tính giá trị của các thẻ đầu vào

Phương thức đăng được sử dụng để gửi yêu cầu đăng với các tham số và đăng nhập cho chúng tôi

home_page = s. lấy["http. //dấu ngoặc kép. để cạo. com"]
in[ home_page. nội dung]

Sau khi đăng nhập, những dòng mã trên chỉ cần trích xuất thông tin từ trang để cho biết rằng đăng nhập đã thành công

Phần kết luận

Quá trình đăng nhập vào các trang web bằng Python khá dễ dàng, tuy nhiên việc thiết lập các trang web không giống nhau nên một số trang sẽ khó đăng nhập hơn các trang khác. Còn nhiều việc có thể làm để vượt qua mọi thử thách đăng nhập mà bạn gặp phải

Điều quan trọng nhất trong tất cả những điều này là kiến ​​thức về HTML, Yêu cầu, BeautifulSoup và khả năng hiểu thông tin nhận được từ tab Mạng trong Công cụ dành cho nhà phát triển của trình duyệt web của bạn

Làm cách nào để tạo trang đăng nhập bằng HTML với cơ sở dữ liệu bằng Python?

Bắt đầu. Có một vài bước chúng ta cần thực hiện trước khi tạo hệ thống đăng ký và đăng nhập python. .
Tạo cơ sở dữ liệu và thiết lập bảng. .
Tạo biểu định kiểu [CSS3].
Tạo hệ thống đăng nhập. .
Tạo hệ thống đăng ký. .
Tạo Trang chủ. .
Tạo trang hồ sơ

Làm cách nào để tạo Python đăng nhập?

Hệ thống đăng nhập cơ bản với Python .
Ý tưởng. Chương trình sẽ chấp nhận email và mật khẩu của người dùng, băm mật khẩu, lưu nó vào một tệp văn bản cùng với email và hoàn tất quá trình đăng ký. .
điều kiện tiên quyết. Bạn nên cài đặt phiên bản python 3. 0 trở lên để sử dụng gói hashlib tích hợp
hướng dẫn

Làm cách nào để tạo trang đăng nhập bằng Python bằng Tkinter?

Đầu tiên trong trang đăng nhập chúng ta phải thiết kế một cửa sổ có hai nút một là nút đăng nhập và một nút khác là nút đăng ký. Trước tiên hãy chuyển sang mã nhập gói Tkinter. Tạo một hàm tạo cửa sổ đăng nhập với trang đăng nhập làm tiêu đề .

Chủ Đề