Bạn có thể tự động hóa mọi thứ với python không?

Trong nhiều lĩnh vực quan trọng, bạn có thể tự động hoàn thành các công việc lặp đi lặp lại một cách hiệu quả và hiệu quả bằng cách sử dụng ngôn ngữ máy tính như Python. Khi bạn mới bắt đầu, điều quan trọng là phải hiểu các nguyên tắc cơ bản của Python thông qua các ví dụ mã hóa. Tuy nhiên, nếu bạn muốn cải thiện kỹ năng Python của mình, bạn nên tập trung vào việc xây dựng mọi thứ và tự động hóa các tác vụ trong thế giới thực

Bài viết này tập trung vào các nguyên tắc cơ bản của Python và nói về cách bạn có thể tự động hóa những thứ nhàm chán của mình bằng Python

Giới thiệu về Python

Python là một ngôn ngữ lập trình linh hoạt, dễ học và sử dụng. Điều này chủ yếu là do nó tương tự như các ngôn ngữ lập trình cấp cao nổi tiếng khác và được cấp phép theo mô hình mã nguồn mở. Nó được phát triển lần đầu tiên vào năm 1991 bởi Guido van Rossum và Python Software Foundation sau đó đã cải tiến nó

Cú pháp của Python đơn giản và dễ hiểu nên dễ đọc và dễ hiểu hơn so với cú pháp của các ngôn ngữ máy tính khác. Tính dễ đọc của mã là mục tiêu thiết kế chính và cấu trúc của ngôn ngữ giúp các lập trình viên có thể truyền đạt suy nghĩ của họ với ít dòng mã hơn

Ngôn ngữ lập trình Python vừa hướng đối tượng vừa hướng thủ tục. Nó được nhập động, do đó các loại biến không bắt buộc phải được khai báo, tuy nhiên bạn có thể thêm gợi ý loại cho các biến của mình bằng Python 3. Một ví dụ đơn giản tương tự là khai báo vehicle = 10 có nghĩa là phương tiện có thể là String, int hoặc bất cứ thứ gì

Thực tế là nó là nguồn mở cũng có nghĩa là có thể truy cập một loạt các công cụ, thư viện, khung và hỗ trợ cho nó. Do đó, Python là ngôn ngữ lập trình phổ biến để thực hiện các thao tác tự động hóa đơn giản. Cũng giống như Python 2 trước đó, Python 3 hiện đã được các lập trình viên chấp nhận và sử dụng rộng rãi

Ngôn ngữ cơ bản

Python 3 có những thay đổi ngôn ngữ tiến hóa và khiêm tốn. Python 3 là câu lệnh print[] được cập nhật từ Python 2, như sau

print "Hello World" // python 2

1. from selenium import webdriver 
2. from time import sleep 
3. browser = webdriver.Chrome[] 
4. browser.get["//blog.sentry.io"] 
5. sleep[1] 
6. browser.get_screenshot_as_file[SentryBlog.png”] 
7. browser.quit[] 
0

Mã hóa ký tự của chuỗi thay đổi đáng kể giữa hai phiên bản ngôn ngữ. Mã hóa ký tự là quá trình lưu trữ các ký tự theo byte trong ngôn ngữ máy tính

Việc triển khai tiêu chuẩn Unicode của Python 3 cho phép nó xử lý bảng chữ cái tiếng Anh, tiếng Ả Rập và tiếng Hy Lạp, cũng như biểu tượng cảm xúc, biểu thức toán học, v.v. Vào thời điểm Python 3 được phát hành, phần lớn các ngôn ngữ lập trình hiện đại đã hỗ trợ Unicode

Typing được hỗ trợ trong Python 3, tuy nhiên nó không bắt buộc. Do đó, mặc dù mã Python 3 có thể được viết giống như mã Python 2, nhưng các nhà phát triển có thể tận dụng các gợi ý loại để xây dựng mã dễ đọc, hiệu quả và hữu ích hơn

Ví dụ tự động hóa bằng Python

Python là một ngôn ngữ mạnh mẽ mà bạn có thể tự động hóa hầu hết mọi tác vụ thông thường hoặc phức tạp với một số nỗ lực

Tất cả những gì bạn cần để bắt đầu là Python được cài đặt trên máy của bạn và các thư viện thích hợp được cài đặt trên máy tính của bạn. Đối với sự ngắn gọn của bài viết này, khả năng sử dụng và tính đơn giản để tự động hóa các tác vụ lặp đi lặp lại được thể hiện bằng Python

Tạo mật khẩu an toàn

Bạn có biết rằng Python có thể giúp bạn tạo mật khẩu ngẫu nhiên mà không cần cài đặt phần mềm hoặc thư viện ưa thích không?

import secrets
import string

character_choices = string.ascii_letters + string.digits + string.punctuation

print[''.join[[secrets.choice[character_choices] for i in range[16]]]]

Dòng mã này in một mật khẩu ngẫu nhiên mà bạn thực sự có thể sử dụng để bảo mật tài khoản của mình.

1. from selenium import webdriver 
2. from time import sleep 
3. browser = webdriver.Chrome[] 
4. browser.get["//blog.sentry.io"] 
5. sleep[1] 
6. browser.get_screenshot_as_file[SentryBlog.png”] 
7. browser.quit[] 
1 quyết định độ dài của chuỗi được tạo trong khi
1. from selenium import webdriver 
2. from time import sleep 
3. browser = webdriver.Chrome[] 
4. browser.get["//blog.sentry.io"] 
5. sleep[1] 
6. browser.get_screenshot_as_file[SentryBlog.png”] 
7. browser.quit[] 
2 quyết định sự kết hợp ngẫu nhiên của các ký tự riêng lẻ, được chọn 16 lần - được in dưới dạng chuỗi mật khẩu của bạn

Chụp ảnh màn hình

Bạn đã bao giờ gặp tình huống cần chụp nhiều ảnh chụp màn hình để hoàn thành một tác vụ chưa? . Hãy xem cách bạn có thể tự động chụp ảnh màn hình bằng Python. Tương tự, bạn sẽ yêu cầu Selenium Webdriver, thứ sẽ giúp bạn thực hiện kiểm tra và tự động hóa trong trình duyệt web của mình cho ví dụ này. Để cài đặt Selenium Webdriver trong trường hợp này, hãy chạy lệnh bên dưới trong terminal của bạn trước khi tiếp tục

1. from selenium import webdriver 
2. from time import sleep 
3. browser = webdriver.Chrome[] 
4. browser.get["//blog.sentry.io"] 
5. sleep[1] 
6. browser.get_screenshot_as_file[SentryBlog.png”] 
7. browser.quit[] 
3

Sau khi cài đặt, bạn có thể bắt đầu viết tập lệnh Python của mình như bên dưới

1. from selenium import webdriver 
2. from time import sleep 
3. browser = webdriver.Chrome[] 
4. browser.get["//blog.sentry.io"] 
5. sleep[1] 
6. browser.get_screenshot_as_file[SentryBlog.png”] 
7. browser.quit[] 

Đoạn script trên giúp bạn chụp ảnh màn hình của Sentry. trang blog io. Hãy hiểu cách thức hoạt động của nó

1. from selenium import webdriver 
2. from time import sleep 
3. browser = webdriver.Chrome[] 
4. browser.get["//blog.sentry.io"] 
5. sleep[1] 
6. browser.get_screenshot_as_file[SentryBlog.png”] 
7. browser.quit[] 
4 được nhập từ mô-đun selen, giúp bạn khởi động trình duyệt của mình và sử dụng các API để tương tác với các thành phần web của trình duyệt

Hàm

1. from selenium import webdriver 
2. from time import sleep 
3. browser = webdriver.Chrome[] 
4. browser.get["//blog.sentry.io"] 
5. sleep[1] 
6. browser.get_screenshot_as_file[SentryBlog.png”] 
7. browser.quit[] 
5 được nhập từ mô-đun
1. from selenium import webdriver 
2. from time import sleep 
3. browser = webdriver.Chrome[] 
4. browser.get["//blog.sentry.io"] 
5. sleep[1] 
6. browser.get_screenshot_as_file[SentryBlog.png”] 
7. browser.quit[] 
6 của Python, cho phép bạn chỉ định tạm dừng thực thi trong vài giây với
1. from selenium import webdriver 
2. from time import sleep 
3. browser = webdriver.Chrome[] 
4. browser.get["//blog.sentry.io"] 
5. sleep[1] 
6. browser.get_screenshot_as_file[SentryBlog.png”] 
7. browser.quit[] 
7. Dòng 3 và dòng 4 tiếp theo chỉ định trình duyệt web và mở một URL web trong trình duyệt đã chỉ định

Selenium Webdriver mà bạn đang sử dụng, theo mặc định, sẽ tạm dừng cho đến khi trang web tải xong. Tuy nhiên, một số trang web nâng cao có thể yêu cầu

1. from selenium import webdriver 
2. from time import sleep 
3. browser = webdriver.Chrome[] 
4. browser.get["//blog.sentry.io"] 
5. sleep[1] 
6. browser.get_screenshot_as_file[SentryBlog.png”] 
7. browser.quit[] 
8 để tạm dừng thực thi mã để hoàn tất quá trình tải trang web

Cuối cùng, phương thức

1. from selenium import webdriver 
2. from time import sleep 
3. browser = webdriver.Chrome[] 
4. browser.get["//blog.sentry.io"] 
5. sleep[1] 
6. browser.get_screenshot_as_file[SentryBlog.png”] 
7. browser.quit[] 
9 chụp ảnh màn hình của trang web hiển thị. Sau đó, trình duyệt cần được đóng lại và dòng
import requests
from bs4 import BeautifulSoup as soup
import time
import smtplib
import getpass
0 cũng làm như vậy với bạn

Ảnh chụp màn hình tự động có thể giúp xác định lỗi dễ dàng hơn và tăng tốc quá trình xác định và sửa chúng theo cách thủ công. Quan trọng nhất, nó có thể mở rộng ở cùng mức độ với ứng dụng bạn đang thử nghiệm mà không cần thêm người thử nghiệm. Hệ quả trực tiếp của tất cả những điều đã nói ở trên là ảnh chụp màn hình tự động giúp tiết kiệm thời gian và tiền bạc

Theo dõi giá của sản phẩm thương mại điện tử yêu thích của bạn

Bạn đã bao giờ thử mua sản phẩm yêu thích của mình với giá thấp nhất có thể chưa?

Để đạt được điều tương tự, bạn cần thực hiện các cuộc gọi API bằng cách sử dụng tập lệnh Python đơn giản sẽ kiểm tra định kỳ giá của sản phẩm được chỉ định của bạn trên trang web thương mại điện tử và gửi email cho bạn về điều tương tự

Chúng ta hãy xem làm thế nào để đạt được điều này

Để ví dụ này ngắn gọn, chúng ta sẽ gọi thư viện

import requests
from bs4 import BeautifulSoup as soup
import time
import smtplib
import getpass
1 để thực hiện các cuộc gọi mạng cùng với các thư viện Python khác để thực hiện tác vụ. Ví dụ này hiển thị truy vấn một sản phẩm từ trang web của Amazon

Trước hết, khai báo các mô-đun cần thiết dưới dạng nhập

import requests
from bs4 import BeautifulSoup as soup
import time
import smtplib
import getpass

Bây giờ, bạn đã sẵn sàng lấy URL của sản phẩm làm đầu vào để nhận thông tin cập nhật về

import requests
from bs4 import BeautifulSoup as soup
import time
import smtplib
import getpass
2

Sau đó, bạn cần xác định các chức năng sẽ thực hiện các tác vụ khác nhau cho bạn như hình bên dưới

import requests
from bs4 import BeautifulSoup as soup
import time
import smtplib
import getpass

Bây giờ, bạn đã sẵn sàng lấy URL của sản phẩm làm đầu vào để nhận thông tin cập nhật về

import requests
from bs4 import BeautifulSoup as soup
import time
import smtplib
import getpass
2

Sau đó, bạn cần xác định các chức năng sẽ thực hiện các tác vụ khác nhau cho bạn như hình bên dưới

def get_product_price[]:
    title = soup.find[id="productTitle"].get_text[].strip[]
    try:
    	price = soup.find[ 
id="priceblock_ourprice_row"].get_text[].strip[][:20].replace[ '$',''].replace[' ',''].replace['Price:',''].replace['\n',''].replace[ '\xa0',''].replace[',', ''].replace['Fu', '']

    except:
      try:
      	price = soup.find[id="priceblock_dealprice"].get_text[].strip[][:20].replace[        '$', ''].replace[' ', ''].replace['Price:', ''].replace['\n', ''].replace['\xa0',''].replace[',',''].replace['Fu', '']

     except:
       try:
       	price = soup.find[
       id="priceblock_ourprice"].get_text[].strip[][:20].replace[
       '$',''].replace[' ', ''].replace['Price:', ''].replace['\n',
  ''].replace['\xa0',''].replace[',', ''].replace['Fu', '']

     except:
     	price = soup.find[id="priceblock_ourprice_lbl"].get_text[]
.strip[][:20].replace['$', ''].replace[' ', ''].replace['Price:',
''].replace['\n',''].replace['\xa0',''].replace[',',''].replace['Fu', '']

Đoạn mã trên kiểm tra giá của sản phẩm bằng cách phân tích cú pháp các phần tử trong trang HTML bằng cách sử dụng các id HTML được xác định trong mỗi khối con. Khi quá trình thực thi mã di chuyển xa hơn, nó sẽ kiểm tra các mức giá khác được đề cập trên trang, chẳng hạn như Giá thỏa thuận và Giá của chúng tôi

Bạn có thể tự động gửi email bằng Python. Thư viện smtplib của Python cho phép bạn gửi email thông qua SMTP. Bạn sẽ cần một tài khoản Gmail; . Bạn có thể xem hướng dẫn tạo Mật khẩu ứng dụng tại đây

Đầu tiên, bạn cần kết nối với Gmail SMTP

Trong ví dụ này, bạn đang sử dụng

import requests
from bs4 import BeautifulSoup as soup
import time
import smtplib
import getpass
4 và
import requests
from bs4 import BeautifulSoup as soup
import time
import smtplib
import getpass
5 để yêu cầu email và mật khẩu tương ứng và
import requests
from bs4 import BeautifulSoup as soup
import time
import smtplib
import getpass
6 để tạo kết nối và gửi email. Sau khi các mô-đun tích hợp thích hợp được nhập vào lúc đầu, các giai đoạn tiếp theo sẽ thiết lập các biến. Gmail cần HOST và PORT, các hằng số được viết hoa

Mật khẩu và tên người dùng Gmail được giữ trong biến tên người dùng. Để nhập mật khẩu, hãy sử dụng

import requests
from bs4 import BeautifulSoup as soup
import time
import smtplib
import getpass
7. Nó yêu cầu mật khẩu nhưng không lặp lại. Tập lệnh sử dụng
import requests
from bs4 import BeautifulSoup as soup
import time
import smtplib
import getpass
8 để bảo mật kết nối SMTP

def send_mail[mail_id, title, password]:
    server_mail = "smtp.gmail.com"
    port = 587
    server = smtplib.SMTP[server_mail, port]
    server.ehlo[]
    server.starttls[]
    server.login[mail_id, password]
    subject = "The price of the product is updated!"
    body = f"Price of {title} is now below the minimum amount. Click on the link below to buy the product now:\n\n" + producturl
    message = f'Subject:{subject}\n\n {body}'
    server.sendmail[mail_id, mail_id, message]
    server.quit[]

Sau khi xác thực được thực hiện bằng phương thức

import requests
from bs4 import BeautifulSoup as soup
import time
import smtplib
import getpass
9, bạn sẽ có thể gửi email bằng phương thức
import requests
from bs4 import BeautifulSoup as soup
import time
import smtplib
import getpass
0. Ở đây, điều quan trọng là phải đóng kết nối mở của bạn một cách thích hợp bằng phương pháp
import requests
from bs4 import BeautifulSoup as soup
import time
import smtplib
import getpass
1. Bạn đã xác định các chức năng để lấy giá và thực hiện gửi email khi giá thấp hơn giá trị tối thiểu. Bây giờ bạn cần kích hoạt tập lệnh này định kỳ, tôi. e. cứ sau 60 phút hoặc lâu hơn. Bạn có thể sửa đổi và áp dụng khoảng thời gian của riêng mình trong tập lệnh. Đây là cách thực hiện

while 1:
    get_product_price[]
    # checks at an interval of 1 hour [specified in seconds]
    time.sleep[3600.00]

Ở đây,

import requests
from bs4 import BeautifulSoup as soup
import time
import smtplib
import getpass
2 hoạt động như một điều kiện thực sự, luôn thực thi mã trong khối, thực thi phương thức
import requests
from bs4 import BeautifulSoup as soup
import time
import smtplib
import getpass
3 và sau đó tạm dừng thực thi trong 60 phút tiếp theo, sau đó thực thi lại mã theo định kỳ

Đi đâu từ đây

Python có thể được sử dụng để tự động hóa nhiều quy trình khác. Có rất nhiều công việc mà bạn tiến hành hàng ngày, chẳng hạn như chuyển thông tin từ tài liệu này sang tài liệu khác hoặc nhân một con số với một trăm. Sử dụng bộ công cụ phù hợp và hiểu biết về các quy ước tập lệnh, những công việc này có thể dễ dàng tự động hóa bằng Python. Nó mang đến cho bạn cơ hội để rèn luyện khả năng sáng tạo của họ và đưa ra các giải pháp tự động có một không hai cho những nhiệm vụ tầm thường mà họ phải đối mặt hàng ngày

Để khám phá thêm, bạn có thể xem trang web Mã của NASA, nơi họ đã mở rất nhiều dự án Python để học hỏi. Kho lưu trữ GitHub phổ biến này là một trong những mỏ vàng của các tập lệnh tự động hóa Python, luôn nhận được sự đóng góp từ nhiều cộng tác viên khác nhau. Bạn cũng có thể tìm kiếm thêm về chủ đề trên GitHub

Python có thể tự động hóa mọi thứ không?

Bạn có thể tự động hóa gần như mọi thứ bằng Python . Từ việc gửi email và điền vào các tệp PDF và CSV [nếu bạn không quen với định dạng tệp này, tôi khuyên bạn nên kiểm tra nó, chẳng hạn như nó được Excel sử dụng] để tương tác với các API bên ngoài và gửi các yêu cầu HTTP.

Python có phải là ngôn ngữ tốt để tự động hóa không?

Python là một tùy chọn lý tưởng để tự động hóa vì đây là ngôn ngữ kịch bản phía máy chủ. Điều này làm cho nó trở thành một ngôn ngữ lý tưởng để thử nghiệm tự động hóa selen. Ngôn ngữ phổ biến có nhiều thư viện và khung. Cân nhắc sử dụng các công cụ tự động hóa như Pywinauto, Behave, Robot frameworks và Selenium.

Chủ Đề