从入门到精通:爬虫案例详解与注释全收录

2026-11-06 0 阅读

在互联网时代,信息获取变得异常便捷,但同时也带来了信息过载的问题。为了能够高效地从海量信息中筛选出所需数据,爬虫技术应运而生。本文将带领大家从入门到精通,详细了解爬虫技术,并通过实际案例进行详细解析和注释。

一、爬虫基础知识

1.1 爬虫定义

爬虫(Spider)是一种自动化程序,用于从互联网上收集信息。它模拟人类的网络行为,按照一定的规则,从网站中抓取数据,并存储到本地或数据库中。

1.2 爬虫分类

爬虫主要分为三类:

  • 通用爬虫:如百度爬虫、搜狗爬虫等,主要用于搜索引擎。
  • 聚焦爬虫:针对特定领域或主题进行信息收集,如学术爬虫、新闻爬虫等。
  • 垂直爬虫:针对特定网站或应用进行数据抓取,如电商爬虫、社交媒体爬虫等。

1.3 爬虫工作原理

爬虫的工作流程主要包括以下几个步骤:

  1. 发现页面:从种子URL开始,通过网页链接关系发现新的URL。
  2. 下载页面:从服务器下载页面内容。
  3. 解析页面:提取页面中的有用信息。
  4. 存储数据:将提取的数据存储到本地或数据库中。
  5. 重试机制:在遇到下载失败或解析错误时,进行重试。

二、Python爬虫实战案例

2.1 案例1:爬取网页标题

代码示例:

import requests
from bs4 import BeautifulSoup

def crawl_title(url):
    try:
        response = requests.get(url)
        soup = BeautifulSoup(response.text, 'html.parser')
        title = soup.find('title').get_text()
        return title
    except Exception as e:
        print(e)

# 使用示例
url = 'http://www.example.com'
print(crawl_title(url))

解析:

  1. 使用requests库发送HTTP请求,获取网页内容。
  2. 使用BeautifulSoup库解析网页内容,提取标题。

2.2 案例2:爬取网页图片

代码示例:

import requests
from bs4 import BeautifulSoup

def crawl_images(url):
    try:
        response = requests.get(url)
        soup = BeautifulSoup(response.text, 'html.parser')
        images = soup.find_all('img')
        for img in images:
            print(img.get('src'))
    except Exception as e:
        print(e)

# 使用示例
url = 'http://www.example.com'
crawl_images(url)

解析:

  1. 使用requests库发送HTTP请求,获取网页内容。
  2. 使用BeautifulSoup库解析网页内容,提取图片链接。

2.3 案例3:爬取网页文章

代码示例:

import requests
from bs4 import BeautifulSoup

def crawl_articles(url):
    try:
        response = requests.get(url)
        soup = BeautifulSoup(response.text, 'html.parser')
        articles = soup.find_all('article')
        for article in articles:
            title = article.find('h1').get_text()
            content = article.find('p').get_text()
            print(title, content)
    except Exception as e:
        print(e)

# 使用示例
url = 'http://www.example.com'
crawl_articles(url)

解析:

  1. 使用requests库发送HTTP请求,获取网页内容。
  2. 使用BeautifulSoup库解析网页内容,提取文章标题和内容。

三、总结

通过以上案例,我们可以了解到爬虫技术在Python中的应用。在实际应用中,可以根据需求选择合适的爬虫工具和框架,如Scrapy、Selenium等。同时,我们还需注意遵守相关法律法规,尊重网站版权,确保爬虫行为合法合规。

分享到: