Python爬虫入门实例:7个爬虫小案例!

包含编程籽料、学习路线图、爬虫代码、安装包等!【点击领取】

下面我将为你提供一个Python爬虫入门实例,包含7个简单的爬虫案例,适合初学者学习。这些案例涵盖了基本的网页抓取、数据解析和存储等常见操作。

案例1:获取网页内容(urllib)

import urllib.request

# 最简单的爬虫 - 获取网页内容
url = "http://www.example.com"
response = urllib.request.urlopen(url)
content = response.read().decode('utf-8')
print(content[:500])  # 打印前500个字符

案例2:使用Requests库获取网页

import requests

# 使用更友好的requests库
url = "https://www.csdn.net/"
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36'
}
response = requests.get(url, headers=headers)
print(response.status_code)  # 打印状态码
print(response.text[:500])  # 打印前500个字符

案例3:解析HTML(BeautifulSoup)

from bs4 import BeautifulSoup
import requests

# 解析CSDN首页文章标题
url = "https://blog.csdn.net/"
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')

# 查找所有文章标题(根据实际网站结构调整选择器)
titles = soup.select('h2 a')  # 示例选择器,实际需要根据网站结构调整
for i, title in enumerate(titles[:10], 1):  # 只显示前10个
    print(f"{i}. {title.text.strip()}")

案例4:爬取图片并保存

import os
import requests
from bs4 import BeautifulSoup

# 创建保存图片的文件夹
if not os.path.exists('images'):
    os.makedirs('images')

# 示例:爬取某个网页中的图片
url = "https://www.example.com/images"  # 替换为实际图片页面
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
img_tags = soup.find_all('img')

for img in img_tags[:5]:  # 只下载前5张图片
    img_url = img.get('src')
    if img_url.startswith('http'):
        try:
            img_data = requests.get(img_url).content
            img_name = os.path.join('images', os.path.basename(img_url))
            with open(img_name, 'wb') as f:
                f.write(img_data)
            print(f"下载完成: {img_name}")
        except Exception as e:
            print(f"下载失败: {img_url}, 错误: {e}")

案例5:爬取表格数据

import pandas as pd

# 使用pandas直接读取网页表格
url = "https://en.wikipedia.org/wiki/List_of_countries_by_GDP_(nominal)"
tables = pd.read_html(url)  # 读取网页中的所有表格

# 假设我们需要第一个表格
gdp_table = tables[1]  # 通常需要查看哪个表格是我们需要的
print(gdp_table.head())  # 打印前5行

案例6:使用API获取数据

import requests
import json

# 使用公开API获取数据
api_url = "https://api.github.com/users/octocat"  # GitHub API示例
response = requests.get(api_url)
data = json.loads(response.text)

print("GitHub用户信息:")
print(f"用户名: {data['login']}")
print(f"姓名: {data.get('name', '无')}")
print(f"粉丝数: {data['followers']}")
print(f"仓库数: {data['public_repos']}")

案例7:模拟登录(简单示例)

import requests
from bs4 import BeautifulSoup

# 模拟登录示例(以简易网站为例)
login_url = "https://www.example.com/login"  # 替换为实际登录URL
payload = {
    'username': 'your_username',  # 替换为你的用户名
    'password': 'your_password'   # 替换为你的密码
}

with requests.Session() as session:
    # 首先获取登录页,可能需要获取csrf token等
    login_page = session.get(login_url)
    soup = BeautifulSoup(login_page.text, 'html.parser')
    # 这里可以提取csrf token等必要字段添加到payload中
    
    # 发送登录请求
    response = session.post(login_url, data=payload)
    
    # 检查是否登录成功
    if "欢迎" in response.text:  # 根据实际成功页面调整
        print("登录成功!")
        # 访问需要登录的页面
        profile_url = "https://www.example.com/profile"
        profile_page = session.get(profile_url)
        print(profile_page.text[:500])  # 打印前500个字符
    else:
        print("登录失败")

注意事项

设置请求头:特别是User-Agent,模拟浏览器行为

控制请求频率:避免给服务器造成过大压力,可以添加延时:

import time
time.sleep(1)  # 延时1秒

异常处理:网络请求可能失败,添加try-except块

合法性:仅爬取允许公开访问的数据,不爬取个人隐私或受版权保护的内容

希望这7个案例能帮助你入门Python爬虫!每个案例都可以进一步扩展和完善,根据实际需求进行调整。

最后:
希望你编程学习上不急不躁,按照计划有条不紊推进,把任何一件事做到极致,都是不容易的,加油,努力!相信自己!

文末福利
最后这里免费分享给大家一份Python全套学习资料,希望能帮到那些不满现状,想提升自己却又没有方向的朋友,也可以和我一起来学习交流呀。

包含编程资料、学习路线图、源代码、软件安装包等!【点击这里领取!】
① Python所有方向的学习路线图,清楚各个方向要学什么东西
② 100多节Python课程视频,涵盖必备基础、爬虫和数据分析
③ 100多个Python实战案例,学习不再是只会理论
④ 华为出品独家Python漫画教程,手机也能学习

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值