Python爬虫实战:四个常见案例详解!

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

网络爬虫是数据采集的重要工具,Python凭借其丰富的库和简洁的语法,成为了爬虫开发的首选语言。本文将详细介绍四个常见的Python爬虫实战案例,帮助你从入门到精通。

目录
案例一:静态网页数据抓取

案例二:动态网页数据抓取

案例三:模拟登录与表单提交

案例四:数据存储与导出

1. 环境准备
在开始之前,确保你已经安装了以下Python库:

pip install requests
pip install beautifulsoup4
pip install selenium
pip install pandas

requests:用于发送HTTP请求。

beautifulsoup4:用于解析HTML文档。

selenium:用于处理动态网页。

pandas:用于数据存储与导出。

案例一:静态网页数据抓取
目标:抓取豆瓣电影Top250的电影名称和评分
实现步骤:
使用requests库发送HTTP请求,获取网页内容。

使用BeautifulSoup解析HTML文档,提取所需数据。

代码实现:

import requests
from bs4 import BeautifulSoup

# 目标URL
url = 'https://movie.douban.com/top250'

# 发送HTTP请求
response = requests.get(url)
html = response.text

# 解析HTML文档
soup = BeautifulSoup(html, 'html.parser')

# 提取电影名称和评分
movies = soup.find_all('div', class_='hd')
ratings = soup.find_all('span', class_='rating_num')

# 打印结果
for movie, rating in zip(movies, ratings):
    print(f'电影名称:{movie.a.span.text},评分:{rating.text}')

运行结果:

电影名称:肖申克的救赎,评分:9.7
电影名称:霸王别姬,评分:9.6
...

案例二:动态网页数据抓取
目标:抓取京东商品列表的商品名称和价格

实现步骤:
使用selenium模拟浏览器操作,加载动态内容。

使用BeautifulSoup解析动态加载的HTML文档。

代码实现:

from selenium import webdriver
from bs4 import BeautifulSoup
import time

# 启动浏览器
driver = webdriver.Chrome()

# 目标URL
url = 'https://search.jd.com/Search?keyword=手机'

# 打开网页
driver.get(url)
time.sleep(3)  # 等待页面加载

# 获取页面源码
html = driver.page_source

# 解析HTML文档
soup = BeautifulSoup(html, 'html.parser')

# 提取商品名称和价格
items = soup.find_all('div', class_='p-name')
prices = soup.find_all('div', class_='p-price')

# 打印结果
for item, price in zip(items, prices):
    print(f'商品名称:{item.text.strip()},价格:{price.strong.i.text}')

# 关闭浏览器
driver.quit()

运行结果:

商品名称:Apple iPhone 13,价格:5999
商品名称:华为 Mate 50,价格:4999
...

案例三:模拟登录与表单提交
目标:模拟登录GitHub并获取用户信息

实现步骤:
使用requests库发送POST请求,提交登录表单。

使用session保持登录状态,访问需要登录的页面。

代码实现:

import requests
from bs4 import BeautifulSoup

# 登录URL
login_url = 'https://github.com/session'

# 创建会话
session = requests.Session()

# 登录表单数据
login_data = {
    'login': 'your_username',
    'password': 'your_password',
    'authenticity_token': ''
}

# 获取登录页面的token
response = session.get('https://github.com/login')
soup = BeautifulSoup(response.text, 'html.parser')
token = soup.find('input', {'name': 'authenticity_token'})['value']
login_data['authenticity_token'] = token

# 提交登录表单
session.post(login_url, data=login_data)

# 访问用户页面
profile_url = 'https://github.com/your_username'
response = session.get(profile_url)

# 解析用户信息
soup = BeautifulSoup(response.text, 'html.parser')
name = soup.find('span', class_='p-name').text
print(f'用户名:{name}')

运行结果:

用户名:your_username

案例四:数据存储与导出
目标:将抓取的数据存储到CSV文件中

实现步骤:
使用pandas库将数据存储为DataFrame。

使用to_csv方法将数据导出为CSV文件。

代码实现:

import pandas as pd

# 示例数据
data = {
    '电影名称': ['肖申克的救赎', '霸王别姬', '阿甘正传'],
    '评分': [9.7, 9.6, 9.5]
}

# 创建DataFrame
df = pd.DataFrame(data)

# 导出为CSV文件
df.to_csv('movies.csv', index=False, encoding='utf-8-sig')

运行结果:
生成一个movies.csv文件,内容如下:

电影名称,评分
肖申克的救赎,9.7
霸王别姬,9.6
阿甘正传,9.5

总结
通过以上四个案例,你已经掌握了Python爬虫的基本技能:

静态网页数据抓取。

动态网页数据抓取。

模拟登录与表单提交。

数据存储与导出。

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

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

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

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值