Python常用小脚本实例总结
简介
本文将分享几个常用的Python小脚本实例,这些脚本几乎可以应用在任何领域,也可以作为日常工作生活的小工具。
实例1:批量下载网页图片
我们经常需要从一个网页上面抓取很多图片,如果手动一个一个下载的话效率太低,这时候可以使用Python进行批量下载。我们在代码中引入requests
和os
两个模块,前者用于向服务器发起请求,获取网页内容和图片,后者用于管理本地文件。
import requests
import os
def download_imgs_from_url(url, folder_path):
response = requests.get(url)
if not response.ok:
print('Response error:', response.status_code)
return
if not os.path.exists(folder_path):
os.makedirs(folder_path)
for img_url in response.content.decode('utf-8').split('\n'):
img_url = img_url.strip()
if not img_url or img_url.startswith('#'):
continue
img_name = img_url.split('/')[-1]
img_path = os.path.join(folder_path, img_name)
with open(img_path, 'wb') as f:
f.write(requests.get(img_url).content)
print('Downloaded', img_path)
url
是目标网页的链接;folder_path
是要保存图片的文件夹路径。
我们调用函数可以这样:
url = 'https://www.example.com/images/'
folder_path = './example/images/'
download_imgs_from_url(url, folder_path)
实例2:统计单词出现频率
我们可以使用Python统计一篇文章中不同单词出现的频率,这对于文本分析非常有用,这里使用的是纯文本文件,但同样适用于其他格式的文件。
import os
def count_words_freq(file_path):
with open(file_path, encoding='utf-8') as f:
words = f.read().lower().split()
freq_dict = {}
for word in words:
if len(word) < 4:
continue
freq_dict[word] = freq_dict.get(word, 0) + 1
freq_list = sorted(freq_dict.items(), key=lambda x:x[1], reverse=True)
return freq_list
file_path
是要分析的纯文本文件路径。
我们可以调用这个函数并打印出单词出现频率前十名:
file_path = 'example.txt'
freq_list = count_words_freq(file_path)
for word, freq in freq_list[:10]:
print(word, freq)
总结
这里我们实现了两个小脚本,一个用于批量下载网页图片,一个用于统计单词出现频率,这些小脚本都可以在日常工作中使用,增强效率。在使用这些脚本时,我们需要注意数据来源的合法性和用户协议的要求,防止违反相关法律规定。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python常用小脚本实例总结 - Python技术站