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进行更深度的数据抓取。

相关推荐
忧郁的蛋~13 分钟前
.NET异步编程中内存泄漏的终极解决方案
开发语言·前端·javascript·.net
2301_7951672018 分钟前
玩转Rust高级应用. ToOwned trait 提供的是一种更“泛化”的Clone 的功能,Clone一般是从&T类型变量创造一个新的T类型变量
开发语言·后端·rust
你才是向阳花31 分钟前
如何用Python实现飞机大战小游戏
开发语言·python·pygame
合作小小程序员小小店36 分钟前
web网页开发,在线%商城,电商,商品购买%系统demo,基于vscode,apache,html,css,jquery,php,mysql数据库
开发语言·前端·数据库·mysql·html·php·电商
草莓熊Lotso44 分钟前
C++ 方向 Web 自动化测试实战:以博客系统为例,从用例到报告全流程解析
前端·网络·c++·人工智能·后端·python·功能测试
星释1 小时前
Rust 练习册 :Phone Number与电话号码处理
开发语言·机器学习·rust
one year.1 小时前
Linux:线程同步与互斥
java·开发语言
一 乐1 小时前
旅游|内蒙古景点旅游|基于Springboot+Vue的内蒙古景点旅游管理系统设计与实现(源码+数据库+文档)
开发语言·前端·数据库·vue.js·spring boot·后端·旅游
不爱编程的小九九1 小时前
小九源码-springboot103-踏雪阁民宿订购平台
java·开发语言·spring boot
共享家95271 小时前
LRU 缓存的设计与实现
开发语言·c++