2-python自动化自学

1. 自动化自学的重要性

随着科技的飞速发展,人工智能、机器学习等技术越来越成熟,对于编程技术也提出了更高的要求。因此,自动化自学成为越来越多程序员和开发人员的选择。

自动化自学除了提高个人技术水平外,还有以下几点优势:

1.1 节约时间和金钱

随着自动化工具的普及,很多繁琐的重复性操作都可以交给计算机来完成,极大地节省了人力和时间成本。

# 示例代码:自动化发送邮件

import smtplib

from email.mime.text import MIMEText

from email.header import Header

# 邮件信息

sender = 'xxx@qq.com'

receiver = 'xxx@qq.com'

subject = '这是一封自动化发送的邮件'

smtp_server = 'smtp.qq.com'

smtp_port = 25

username = 'xxx@qq.com'

password = 'xxxxxx'

# 邮件正文

content = '你好,这是一封自动化发送的邮件,祝您工作愉快!'

# 邮件对象

msg = MIMEText(content, 'plain', 'utf-8')

msg['From'] = Header(sender, 'utf-8')

msg['To'] = Header(receiver, 'utf-8')

msg['Subject'] = Header(subject, 'utf-8')

# 发送邮件

smtp_obj = smtplib.SMTP(smtp_server, smtp_port)

smtp_obj.login(username, password)

smtp_obj.sendmail(sender, receiver, msg.as_string())

smtp_obj.quit()

1.2 提高工作效率

自动化工具的快速响应能力可以大大缩短工作时间,从而更快地完成项目,并且提高了工作效率。

1.3 提高代码质量

自动化测试可以避免一些手工测试时容易出现的失误,提高测试的准确性和全面性,从而提高了代码的质量。

2. 常用的自动化工具

目前,自动化工具主要以Python为主,根据具体的任务可以选择不同的自动化工具,下面是一些常用的自动化工具介绍:

2.1 Selenium

Selenium是一个Web应用程序测试框架,它可以模拟用户行为在Web界面上进行操作,支持多种浏览器。

# 示例代码:模拟登录QQ邮箱

from selenium import webdriver

# 浏览器对象

driver = webdriver.Chrome()

# 访问登录页面

driver.get("https://mail.qq.com")

# 切换到iframe

driver.switch_to.frame('login_frame')

# 输入账号

driver.find_element_by_id("u").send_keys("xxx@qq.com")

# 输入密码

driver.find_element_by_id("p").send_keys("xxxxxx")

# 点击登录按钮

driver.find_element_by_id("login_button").click()

2.2 Appium

Appium是一个跨平台的移动应用程序自动化测试框架,支持iOS和Android平台,提供一组API来控制应用程序,支持多种编程语言。

# 示例代码:自动化测试安卓APP

from appium import webdriver

# Appium服务器地址

server = 'http://localhost:4723/wd/hub'

# 手机设备信息

desired_caps = {

'platformName': 'Android',

'platformVersion': '9',

'deviceName': 'xxx',

'appPackage': 'com.android.calculator2',

'appActivity': 'com.android.calculator2.Calculator'

}

# 连接手机

driver = webdriver.Remote(server, desired_caps)

# 操作APP

driver.find_element_by_id("digit_1").click()

driver.find_element_by_id("plus").click()

driver.find_element_by_id("digit_2").click()

driver.find_element_by_id("equal").click()

# 关闭连接

driver.quit()

2.3 PyAutoGUI

PyAutoGUI是一个纯Python编写的图像识别自动化工具,可以用来模拟键盘鼠标操作、图像识别等自动化任务。

# 示例代码:自动化截屏

import pyautogui

# 截图并保存

img = pyautogui.screenshot()

img.save(r"C:\Users\Administrator\Desktop\screenshot.png")

3. 自动化实战

最好的学习方法就是动手实践,下面是一些自动化实战项目:

3.1 模拟登录网站并获取数据

这是一个非常实用的自动化项目,可以模拟登录网站并获取需要的数据,可以用于信息收集、数据分析等。

# 示例代码:模拟登录1688并获取数据

import requests

import re

# 登录

session = requests.Session()

url = "https://login.1688.com/member/signin.htm"

data = {

"loginId": "xxx",

"password2": "xxxxxx",

"keepLogin":"",

"appName":"member",

"returnUrl":"https://www.1688.com/"

}

session.post(url, data=data)

# 获取数据

url = "https://offer.1688.com/seller/o2o/ajax/getOrderList.do"

response = session.get(url)

data = re.findall(r'"memberId":"(.*?)"', response.text)

print(data)

3.2 自动化PDF操作

对于需要大量编辑PDF文件的人员,自动化PDF操作将会大大提高工作效率。

# 示例代码:自动化处理PDF文件

from PyPDF2 import PdfFileReader, PdfFileWriter

# 打开PDF文件

pdf = PdfFileReader(open('example.pdf', 'rb'))

# 复制PDF文件

out_pdf = PdfFileWriter()

for i in range(pdf.getNumPages()):

out_pdf.addPage(pdf.getPage(i))

# 加密PDF文件

out_pdf.encrypt('mypassword', use_128bit=True)

# 保存PDF文件

with open('out.pdf', 'wb') as f:

out_pdf.write(f)

3.3 自动化爬虫

自动化爬虫可以实现自动化数据采集、数据分析等,使数据处理更加高效。

# 示例代码:自动化爬取商品信息

import requests

from bs4 import BeautifulSoup

# 爬取商品信息

url = 'https://www.jd.com'

response = requests.get(url)

soup = BeautifulSoup(response.text, 'html.parser')

items = soup.select('.item')

for item in items:

title = item.select('.title')[0].text

price = item.select('.price')[0].text

print(title, price)

4. 总结

自动化自学是提升技术水平的必经之路,也是适应快速变化市场的必要手段。通过选择适合自己的自动化工具和实践项目,可以加快工作进度,提高工作效率,同时也可以提高代码质量,让工作更加高效。

后端开发标签