Python爬虫初试

在Python中,我们可以使用一些强大的库来编写一个功能强大的爬虫,

Python

首先安装必要的库(如果尚未安装)

pip install requests beautifulsoup4

python 复制代码
import requests
from bs4 import BeautifulSoup
import os

def download_images(url, save_dir='images'):
    # 发送GET请求获取网页内容
    response = requests.get(url)
    
    # 检查请求是否成功
    if response.status_code != 200:
        print(f"请求失败: {response.status_code}")
        return
    
    # 使用BeautifulSoup解析HTML
    soup = BeautifulSoup(response.text, 'html.parser')
    
    # 查找所有的img标签,通常包含图片的URL
    img_tags = soup.find_all('img')

    # 保存图片到指定目录
    if not os.path.exists(save_dir):
        os.makedirs(save_dir)

    for img_tag in img_tags:
        img_url = img_tag['src']  # 获取图片链接
        img_name = os.path.join(save_dir, img_url.split('/')[-1])  # 构建文件名

        # 下载图片
        with open(img_name, 'wb') as f:
            img_response = requests.get(img_url, stream=True)
            for chunk in img_response.iter_content(1024):
                f.write(chunk)

    print(f"已下载{len(img_tags)}张图片到'{save_dir}'目录")

使用爬虫

target_url = "http://example.com" # 替换为你想要抓取图片的网站

download_images(target_url)

定义了一个函数download_images,它接受一个URL作为参数,然后找到页面上的所有图片,并将它们下载到指定的目录。为了增强爬虫功能,你可以考虑添加异常处理、代理支持、反爬虫机制、数据提取(如文本、表格等)、以及使用更复杂的库如Scrapy进行更深度的数据抓取。

相关推荐
你怎么知道我是队长几秒前
C语言---头文件
c语言·开发语言
期待のcode6 分钟前
Java虚拟机的运行模式
java·开发语言·jvm
hqwest13 分钟前
码上通QT实战25--报警页面01-报警布局设计
开发语言·qt·qwidget·ui设计·qt布局控件
a程序小傲17 分钟前
京东Java面试被问:动态规划的状态压缩和优化技巧
java·开发语言·mysql·算法·adb·postgresql·深度优先
HellowAmy29 分钟前
我的C++规范 - 玩一个小游戏
开发语言·c++·代码规范
自学不成才32 分钟前
深度复盘:一次flutter应用基于内存取证的黑盒加密破解实录并完善算法推理助手
c++·python·算法·数据挖掘
徐先生 @_@|||1 小时前
Palantir Foundry 五层架构模型详解
开发语言·python·深度学习·算法·机器学习·架构
tang777892 小时前
爬虫如何绕过绕过“5秒盾”Cloudflare:从浏览器指纹模拟到Rust求解之不完全指南
开发语言·爬虫·rust·cloudflare
Yuer20252 小时前
什么是 Rust 语境下的“量化算子”——一个工程对象的最小定义
开发语言·后端·rust·edca os·可控ai
深蓝电商API2 小时前
Scrapy爬虫限速与并发控制最佳实践
爬虫·python·scrapy