Python爬虫实战:批量下载高清壁纸

本教程将带你使用Python爬虫技术,从网站上批量下载高清壁纸图片。

**代码:**pythonimport requestsfrom bs4 import BeautifulSoupimport os

def download(url): res = requests.get(url) img_data = res.content filename = os.path.join('img1', url.split('/')[-1]) if not os.path.exists(filename): with open(filename, 'wb') as f: f.write(img_data)

def get_html(): for i in range(3, 20): # 获取第2到19页的图片 url = f'http://www.netbian.com/index_{i}.htm' headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36'} res = requests.get(url, headers=headers) res.encoding = 'gbk' if res.status_code == 200: html = res.text soup = BeautifulSoup(html, 'lxml') all_list = soup.find(class_='list') all_imgs = all_list.find_all('img') if not os.path.exists('img1'): os.makedirs('img1') for img in all_imgs: src = img['src'] download(src)

if name == 'main': get_html()

代码解析:

  1. 导入必要库: 导入requests库用于发送HTTP请求获取网页内容,BeautifulSoup库用于解析HTML网页提取信息,os库用于文件操作。

  2. 定义download函数: 该函数接收图片URL作为参数,下载图片并保存到本地。 - 使用requests.get()方法发送GET请求获取图片数据。 - 从URL中提取文件名,并使用os.path.join()方法拼接完整的文件路径。 - 使用with open(filename, 'wb') as f:打开文件,以二进制写入模式写入图片数据。

  3. 定义get_html函数: 该函数用于获取网页内容并解析图片URL。 - 使用循环遍历目标网页的页码,构造每一页的URL。 - 使用requests.get()方法发送GET请求获取网页内容,并设置请求头模拟浏览器行为。 - 使用BeautifulSoup解析网页内容,使用find()find_all()方法定位到图片列表和每个图片元素。 - 遍历图片元素列表,提取图片URL,并调用download()函数下载图片。

  4. 主程序: 调用get_html()函数开始执行爬虫程序。

注意事项:

  • 爬虫使用需谨慎,请遵守网站robots协议,不要对目标网站造成过大负担。- 本代码仅供学习交流使用,请勿用于非法用途。
Python爬虫实战:批量下载高清壁纸

原文地址: https://www.cveoy.top/t/topic/fRnt 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录