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

相关推荐
Swift社区1 小时前
在 Swift 中实现字符串分割问题:以字典中的单词构造句子
开发语言·ios·swift
没头脑的ht2 小时前
Swift内存访问冲突
开发语言·ios·swift
没头脑的ht2 小时前
Swift闭包的本质
开发语言·ios·swift
wjs20242 小时前
Swift 数组
开发语言
stm 学习ing3 小时前
FPGA 第十讲 避免latch的产生
c语言·开发语言·单片机·嵌入式硬件·fpga开发·fpga
湫ccc4 小时前
《Python基础》之字符串格式化输出
开发语言·python
mqiqe4 小时前
Python MySQL通过Binlog 获取变更记录 恢复数据
开发语言·python·mysql
AttackingLin4 小时前
2024强网杯--babyheap house of apple2解法
linux·开发语言·python