24 实战案例之简单爬虫

在前面的章节中,我们学习了如何抓取动态网页并处理延时和异步内容。这篇教程将带领大家进行一个小项目,创建一个简单的爬虫,演示如何使用Python抓取静态网页的数据。接下来的内容将为我们后续的模拟登录项目打下基础。

1. 项目简介

这个简单爬虫会访问某个静态网页(例如一个新闻网站),并抓取网页上的标题和链接。我们将使用 requestsBeautifulSoup 这两个库来完成这个任务。通过这个简单的案例,我们可以体会到爬虫的基本架构和如何处理HTML内容。

2. 环境准备

在开始之前,请确保你已经安装了以下Python库。如果还没有安装,可以使用以下命令安装:

1
pip install requests beautifulsoup4

3. 目标网页

我们以一个简单的示例网站作为目标,假设我们要抓取的网页为 http://example.com(请用实际的网站替代)。我们将从这个网页中提取标题和链接。

4. 编写爬虫代码

下面是一个简单的爬虫代码示例,它会抓取指定网页的标题和链接:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import requests
from bs4 import BeautifulSoup

# 设置要抓取的URL
url = 'http://example.com'

# 发送请求,获取网页内容
response = requests.get(url)

# 检查请求是否成功
if response.status_code == 200:
# 解析网页内容
soup = BeautifulSoup(response.text, 'html.parser')

# 抓取网页标题
title = soup.title.string
print(f"网页标题: {title}")

# 抓取所有链接
links = soup.find_all('a')
for link in links:
href = link.get('href')
text = link.string
# 输出链接及其文本
print(f"链接: {href} - 文本: {text}")
else:
print("请求失败,状态码:", response.status_code)

5. 代码解析

  • 首先,我们导入了 requestsBeautifulSoup
  • 然后设置要访问的URL。
  • 使用 requests.get(url) 发送HTTP GET请求,获取网页内容。
  • 检查返回的状态码是否为 200(表示成功)。
  • 使用 BeautifulSoup 解析网页内容(HTML)。
  • 通过 soup.title.string 获取网页标题,并使用 soup.find_all('a') 找到所有的链接。
  • 最后,我们打印出所有链接的地址和文本。

6. 运行代码

将上述代码保存为一个Python文件(如 simple_crawler.py),然后在命令行中运行:

1
python simple_crawler.py

你会看到输出的网页标题和链接。请记得根据实际网站进行修改,并确保遵守网站的爬虫协议(robots.txt)。

7. 总结

在本篇教程中,我们实现了一个简单的爬虫,能够抓取网页的标题和所有链接。这个案例展示了使用Python进行网页数据抓取的基本步骤。在下一篇教程中,我们将学习如何进行模拟登录,以便抓取需要登录才能访问的内容。通过这些实践,我们将逐步掌握网页访问的自动化技巧。

希望这个小项目能够激发你的兴趣,并为你后续的爬虫之旅打下坚实的基础!

24 实战案例之简单爬虫

https://zglg.work/web-python-auto/24/

作者

AI免费学习网(郭震)

发布于

2024-08-11

更新于

2024-08-11

许可协议

分享转发

交流

更多教程加公众号

更多教程加公众号

加入星球获取PDF

加入星球获取PDF

打卡评论