Python自动化脚本实例10条
1.使用BeautifulSoup爬取网页
BeautifulSoup是Python中一个常用的HTML和XML解析库。我们可以利用它来解析HTML页面,提取所需的信息。下面是示例代码。
import requests
from bs4 import BeautifulSoup
res = requests.get("https://www.cnblogs.com/")
soup = BeautifulSoup(res.content, "html.parser")
for link in soup.find_all('a', href=True):
print(link['href'])
正则表达式是一种可用于匹配文本模式的工具。我们可以使用它来提取所需的信息。下面是一个该机制的示例代码。
import requests
import re
res = requests.get("https://www.cnblogs.com/")
content = res.content.decode('UTF-8')
pattern = 'href="(.*?)"'
result = re.findall(pattern,content)
for link in result:
print(link)
Selenium是一种流行的自动测试工具。我们可以使用它来捕获网页上的元素,以及为用户模拟操作。下面是一个使用Selenium进行自动化测试的示例代码。
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver = webdriver.Chrome()
driver.get("https://www.baidu.com")
assert "百度一下,你就知道" in driver.title
elem = driver.find_element_by_name("q")
elem.clear()
elem.send_keys("Python")
elem.send_keys(Keys.RETURN)
assert "No results found." not in driver.page_source
driver.close()
Scrapy是Python中一个流行的网页爬虫框架。我们可以利用它来自动抓取网页,并将其转化为结构化数据。下面是一个使用Scrapy框架进行爬取的示例代码。
import scrapy
class SpiderMan(scrapy.Spider):
name = "spiderman"
allowed_domains = ["cnblogs.com"]
start_urls = ["https://www.cnblogs.com"]
def parse(self, response):
for href in response.css("a::attr('href')"):
yield response.follow(href, self.parse)
unittest是Python自带的测试框架,可以帮助我们编写自动化测试用例。下面是一个使用unittest编写自动化测试用例的示例代码。
import unittest
class TestStringMethods(unittest.TestCase):
def test_upper(self):
self.assertEqual('foo'.upper(), 'FOO')
def test_isupper(self):
self.assertTrue('FOO'.isupper())
self.assertFalse('Foo'.isupper())
def test_split(self):
s = 'hello world'
self.assertEqual(s.split(), ['hello', 'world'])
with self.assertRaises(TypeError):
s.split(2)
UI自动化测试用于测试应用程序的用户界面。我们可以使用Selenium,PyAutoGUI以及其他一些工具来编写UI自动化测试代码。 下面是一个使用PyAutoGUI进行UI自动化测试的示例代码。
import pyautogui
import time
pyautogui.moveTo(500, 500, duration = 1)
pyautogui.click(500, 500)
time.sleep(5)
pyautogui.typewrite("Hello")
我们可以使用Python的SMTP协议库来发送电子邮件。 下面是一个使用Python发送邮件的示例代码。
import smtplib
server = smtplib.SMTP('smtp.gmail.com',587)
server.starttls()
server.login("Your Email", "Your Password")
msg = "Hello!"
server.sendmail("Your Email", "Receiver's Email", msg)
server.quit()
我们可以使用Python的os, shutil和glob库来管理文件系统。 下面是一个使用Python库发送邮件的示例代码
import os
os.mkdir("Folder")
os.chdir("Folder")
os.system("touch file.txt")
我们可以使用Python Paramiko库来远程执行命令。 下面是一个使用Python Paramiko库远程执行命令的示例代码。
import paramiko
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('remotehost', username='user', password='passwd')
stdin, stdout, stderr = ssh.exec_command('ls -l')
print(" ".join(stdout.readlines()))
我们可以使用Python机器学习算法来构建自动化机器人。下面是一个使用Python库来训练自动化机器人的示例代码。
import chatterbot
from chatterbot.trainers import ChatterBotCorpusTrainer
chatbot = chatterbot.ChatBot("myBot")
trainer = ChatterBotCorpusTrainer(chatbot)
trainer.train("chatterbot.corpus.english.greetings",
"chatterbot.corpus.english.conversations")
response = chatbot.get_response("Hello, how are you?")
print(response)
综上所述,Python是一种非常强大的自动化工具。本文主要讨论了Python自动化脚本的10个示例,当然要实现上述各种功能,如此的代码量是远远不够的,添闻数据公司可以定制相关类型的爬虫软件、编写自动化脚本,并提高生产力和效率。