一起学习网 一起学习网


使用Python编写简单爬虫教程

开发 Python web crawler, BeautifulSoup tutorial, requests library, web scraping basics, extracting hyperlinks 03-18

基于 Python 实现简单的 Web 爬虫

在本教程中,我们将使用 Python 及其 requestsBeautifulSoup 库来编写一个简单的 Web 爬虫,提取指定网页的标题和所有超链接。

1. 安装必要的库

在开始编写代码之前,我们需要安装 requestsBeautifulSoup 库。如果尚未安装,可以使用以下命令进行安装:

pip install requests beautifulsoup4

2. 编写爬虫代码

下面是一个简单的 Python 爬虫,它会抓取指定网页的标题和所有超链接。

import requests  
from bs4 import BeautifulSoup  

def crawl_website(url):  
    # 发送 HTTP 请求获取网页内容  
    response = requests.get(url)  

    # 检查请求是否成功  
    if response.status_code != 200:  
        print(f"无法访问 {url}, 状态码: {response.status_code}")  
        return  

    # 解析网页内容  
    soup = BeautifulSoup(response.text, 'html.parser')  

    # 获取网页标题  
    title = soup.title.string if soup.title else "无标题"  
    print(f"网页标题: {title}\n")  

    # 获取所有超链接  
    links = soup.find_all('a')  
    print("网页中的所有链接:")  
    for link in links:  
        href = link.get('href')  
        if href:  
            print(href)  

# 指定要爬取的网页  
url = "https://example.com"  # 请替换为你想要爬取的网址  
crawl_website(url)  

3. 代码解析

  • requests.get(url):向指定的 URL 发送 HTTP 请求,并获取网页的 HTML 内容。
  • BeautifulSoup(response.text, 'html.parser'):使用 BeautifulSoup 解析 HTML 内容。
  • soup.title.string:获取网页标题。
  • soup.find_all('a'):查找所有 <a> 标签(超链接)。
  • 遍历超链接并提取 href 属性:获取所有链接的 URL。

4. 运行代码

将上述代码保存为 web_crawler.py,然后在终端或命令行运行:

python web_crawler.py

如果网址可访问,你将看到网页的标题和所有超链接。

5. 注意事项

  • 爬取网页时要遵守网站的 robots.txt 规则,避免抓取受限制的内容。
  • 过于频繁的请求可能会导致 IP 被封,建议使用 time.sleep() 进行间隔请求。
  • 解析网页时,HTML 结构可能会有所不同,需调整解析逻辑。

6. 结论

本教程介绍了如何使用 Python 编写一个简单的 Web 爬虫,提取网页的标题和超链接。你可以根据需要扩展功能,例如抓取特定内容、存储数据等。希望对你有所帮助! 🚀


编辑:一起学习网