为什么仅使用两个类似命令之一会出现错误“NoneType”对象没有属性“内容”?

2024-07-03

我正在从中提取内容url https://www.collinsdictionary.com/dictionary/french-english/aimer.

import requests
from bs4 import BeautifulSoup

url = 'https://www.collinsdictionary.com/dictionary/french-english/aimer'
headers = {'User-Agent': 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0'}
soup = BeautifulSoup(requests.get(url, headers = headers).content, 'html.parser')

for script in soup.select('script, .hcdcrt, #ad_contentslot_1, #ad_contentslot_2'):
    script.extract()

entry_name = soup.h2.text
content1 = ''.join(map(str, soup.select_one('.cB cB-def dictionary biling').contents))

然后我得到一个错误

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-84-e9cb11cd6b5d> in <module>
     10 
     11 entry_name = soup.h2.text
---> 12 content1 = ''.join(map(str, soup.select_one('.cB cB-def dictionary biling').contents))

AttributeError: 'NoneType' object has no attribute 'contents'

另一方面,如果我替换cB cB-def dictionary biling by hom, i.e. content1 = ''.join(map(str, soup.select_one('.hom').contents))然后代码运行良好。从下面的html结构来看,我认为cB cB-def dictionary biling and hom非常相似。

您能详细说明一下这个问题是如何产生的以及如何解决吗?


尝试这个:

import requests
from bs4 import BeautifulSoup

url = 'https://www.collinsdictionary.com/dictionary/french-english/aimer'
headers = {'User-Agent': 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0'}
soup = BeautifulSoup(requests.get(url, headers = headers).content, 'html.parser')

for script in soup.select('script, .hcdcrt, #ad_contentslot_1, #ad_contentslot_2'):
    script.extract()

entry_name = soup.h2.text
content1 = ''.join(map(str, soup.select_one('.cB.cB-def.dictionary.biling').contents))

当你选择班级时,它是blank-spaces在其中你将空格替换为..

cB, cB-def, dictionary and biling是四个不同的类。如果你让空格存在,脚本就会寻找带有 class 的标签cB-def在带有 class 的标签内部cB等等....

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么仅使用两个类似命令之一会出现错误“NoneType”对象没有属性“内容”? 的相关文章

  • 使用 Bootstrap 列折叠空白

    首先 这是我正在谈论的问题的屏幕截图 我正在努力让空白消失 例如 我希望第四条评论 评论评论评论 位于第一条评论下方 并且它们之间没有很大的间隙 而不是跳过该列并位于第二列中 基本上 我想要这些 Bootstrap 井的 3 列 它们不关心
  • pyQt5从字典创建按钮连接到具有附加值的函数

    我在连接按钮时遇到问题 我尝试了不同的方式 但我没有达到 有时我的 GUI 不会显示 而是存储在缓冲区中 有时我有预期的输出 Qt ConnectionType 而不是 方法 或者参数 1 具有意外类型 NoneType 该脚本用于从网络下
  • 我的元素没有填充页面的整个空间

    因此 使用下面的 CSS 代码 我想让我的页面完全充满我计算机上的图像 相反 结果是这样的 background background image url anFtp position fixed height 100 width 100
  • 使用 ctypes 检索本机基类的地址

    我希望能够将证书传递给 Python 的 ssl 库 而不需要临时文件 看来Python的ssl模块不可以这样做 https stackoverflow com questions 12336239 为了解决这个问题 我想检索底层SSL C
  • 导航到 IE 中的数据 URI

    我有这个非常简单的 HTML a href Static a 在 Chrome 或 Firefox 中 它会下载red png正如预期的那样 在 IE 中 它会导航到错误页面 看到它JSFiddle http jsfiddle net di
  • 有没有基于 Maven 的 HTML 验证器

    我有一个包含许多 HTML 文件的项目 作为 Maven 构建过程的一部分 我想在这些文件上运行验证器以确保 这些文件在语法上是正确的 例如检查所有开始标签是否都有相应的结束标签 文件符合编码指南 有人可以推荐一个好的验证器来做到这一点吗
  • 如何使用 BeautifulSoup 从 HTML 中删除评论标签?

    我一直在玩BeautifulSoup 非常棒 我的最终目标是尝试从页面中获取文本 我只是想从正文中获取文本 并使用特殊情况来获取标题和 或 alt 属性 a or img tags 到目前为止我有这个EDITED UPDATED CURRE
  • 忽略页面中的 javascript 语法错误并继续执行脚本

    我为 WordPress 开发插件 它在用户端 主题 使用一些jquery作为jquery插件 问题是 当其他作者制作的其他插件出现 javascript 错误时 我的插件的 javascript 无法执行 最糟糕的是 人们认为我的插件存在
  • 如何在 Flask 中对多个函数使用相同的路由

    我目前正在使用python3 and Flask 我有两个使用相同路径定义的函数 我怎样才能得到index2打印 from flask import Flask request make response app Flask name ap
  • PHP 字符串中的 JavaScript 数组

    我正在开发一个具有数千个值的应用程序 我正在尝试用 JavaScript 创建一个动态数组 我正在使用 AJAX 来获取我的值 所以我必须从 PHP 创建一个字符串 它应该能够在 JavaScript 中从字符串转换为数组 如何在 PHP
  • 如何用Python提取网页的某些部分

    目标网页 http www immi gov au skilled general skilled migration estimated allocation times htm http www immi gov au skilled
  • php curl 获取 html 和 js 渲染

    php curl 只获取html页面的源代码 不执行js脚本 我需要我的网站获取已执行所有 JavaScript 的源代码 我使用ajax 但无法在页面中添加更多js 因为当我加载另一个页面时脚本会保留 我找到了 SpiderMonkey
  • 如何在 Python 3 中使用 smtplib.sendmail() 对收件人姓名(而不是地址)中的国际字符进行编码?

    我在 Python 3 程序中使用标准 smtplib sendmail 调用来发送电子邮件 如下所示 smtp session sendmail The Sender lt email protected cdn cgi l email
  • Asyncio 函数在从脚本调用时有效,但在 Flask 路由中无效

    我是 Python 和这些库 模块的新手 我正在编写一个简单的 ping 测试网络扫描仪作为学习项目 我首先使用 asyncio 开发了一个脚本来 ping 网络上的地址 ip test py import asyncio import i
  • 传递导入错误:ModuleNotFoundError:没有名为“...”的模块

    我现在很困惑 这是项目树 project source lib init py utils py stats py test lib test stats py stats py has import utils 如果执行的话确实有效sta
  • HTML 文本和密码输入字段的大小不同 Internet Explorer

    我正在为我的登录表单使用此表单设置 tr td class label Username td td td tr
  • 获取此 contenteditable 元素中的当前行和行索引?

    我有一个这样的元素 span line 1 line 2 line 3 line 4 line 5 span 假设用户正在编辑 第 4 行 如何获取该 contenteditable 元素中的当前行和行索引 在插入符号位置 这是使用选择属性
  • 覆盖引导样式不起作用

    我有这种简单的情况 我有一种没有定义的风格display属性值 我最近在我的项目中添加了 bootstrap 没有出现重大问题 只有一个 In label bootstrap style is defined a display inlin
  • WEBP图像回退

    我在互联网上搜索了很多 找不到可以完整教授的正确示例或完整教程 所以请大家给我推荐一些好的例子 我已经在很多网站上尝试过 WEBP 代码 例如与现代化工具一起使用 检查浏览器支持或使用背景图像 有一篇关于 Stucox 的文章 您可以在其中
  • 如何在角度4中使用addHTML

    我试图在 Angular 中使用 jspdf 库的 addHTML 函数 并且已经安装了 html2Canvas 但出现错误 这是我的 demo component ts 文件 import Component OnInit ViewChi

随机推荐