You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在PyCharm中进行网页爬取时为何持续返回'None'?

问题分析与解决方法

你的代码返回None是因为找错了名言的位置:

  • 你尝试通过link.get('quote')获取<div class="quote">元素的quote属性,但这个div标签根本没有名为quote的属性,所以每次都返回None。
  • 目标网站的名言文本实际嵌套在每个div.quote下的<span class="text">标签内部。

修正后的代码如下:

import requests
from bs4 import BeautifulSoup


def trade_spider(max_pages):
    page = 1
    while page <= max_pages:
        url = 'http://quotes.toscrape.com/page/' + str(page)
        source_code = requests.get(url)
        plain_text = source_code.text
        soup = BeautifulSoup(plain_text, "html.parser")
        for quote_div in soup.findAll('div', {'class': 'quote'}):
            # 定位到包含名言的span标签,提取文本
            quote_text = quote_div.find('span', {'class': 'text'}).text
            print(quote_text)
        page += 1


trade_spider(1)

修改说明:

  • 将遍历变量名从link改为quote_div,更贴合实际含义
  • 用quote_div.find('span', {'class': 'text'})定位到名言所在的子标签,再通过.text提取标签内的纯文本内容

内容的提问来源于stack exchange,提问作者AkzOnTop

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 13:07:09