Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在这段代码中,'AttributeError:'NoneType‘对象没有属性’find_all‘意味着什么?

在这段代码中,'AttributeError:'NoneType‘对象没有属性’find_all‘意味着什么?
EN

Stack Overflow用户
提问于 2022-03-18 10:04:58
回答 1查看 2K关注 0票数 -1

我正在构建一个相当简单的漂亮汤/请求web刮刀,但是当在作业网站上运行它时,出错了。

AttributeError:“NoneType”对象没有属性“find_all”

就会出现。这是我的代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import requests
from bs4 import BeautifulSoup

URL = "https://uk.indeed.com/jobs?q&l=Norwich%2C%20Norfolk&vjk=139a4549fe3cc48b"
page = requests.get(URL)

soup = BeautifulSoup(page.content, "html.parser")

results = soup.find(id="ResultsContainer")

job_elements = results.find_all("div", class_="resultContent")

python_jobs = results.find_all("h2", string="Python")

for job_element in job_elements:
    title_element = job_element.find("h2", class_="jobTitle")
    company_element = job_element.find("span", class_="companyName")
    location_element = job_element.find("div", class_="companyLocation")
    print(title_element)
    print(company_element)
    print(location_element)
    print()

有人知道问题出在哪里吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-03-18 10:45:23

检查您的选择器,以确定results属性id应该是resultsBody。错误的选择器会导致使用results的行中出现错误,导致None不具有属性:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
results = soup.find(id="resultsBody")

另外,job_elements是td而不是div:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
job_elements = results.find_all("td", class_="resultContent")

您还可以使用css selectors链接选择器。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
job_elements = soup.select('#resultsBody td.resultContent')

只获取包含Python的这些

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
job_elements = soup.select('#resultsBody td.resultContent:has(h2:-soup-contains("Python"))')

示例

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import requests
from bs4 import BeautifulSoup

URL = "https://uk.indeed.com/jobs?q&l=Norwich%2C%20Norfolk&vjk=139a4549fe3cc48b"
page = requests.get(URL)

soup = BeautifulSoup(page.content, "html.parser")

results = soup.find(id="resultsBody")

job_elements = results.find_all("td", class_="resultContent")

python_jobs = results.find_all("h2", string="Python")

for job_element in job_elements:
    title_element = job_element.find("h2", class_="jobTitle")
    company_element = job_element.find("span", class_="companyName")
    location_element = job_element.find("div", class_="companyLocation")
    print(title_element)
    print(company_element)
    print(location_element)
    print()
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71531356

复制
相关文章
AttributeError: NoneType object has no attribute‘’
AttributeError: ‘NoneType’ object has no attribute ‘text’
狼啸风云
2020/10/09
3.5K0
AttributeError: 'NoneType' object has no attribute 'append'
附加列表元素时发生的错误,去掉赋值,把第四十行改为re_bb_area.append(proportion)
狼啸风云
2019/05/15
2.7K0
AttributeError: 'NoneType' object has no attribute 'append'
在美国,手机没有谷歌play意味着什么?
谷歌的影响力不仅仅体现在全球范围内,在美国也是霸主般的存在,谷歌曾经连续几年被评为最具有创新价值的科技公司,证明了谷歌公司在美国依然有着举足轻重的影响力,谷歌背靠雅虎慢慢的一点点做大,已经是全球绝对意义上的搜索引擎霸主,在国内最大的搜索霸主是百度公司,在全球市场份额整体算下来少的可怜,主要原因是国际化道路并没有拓展开,现在国内市场的位置也慢慢变得不牢固了,字节跳动和腾讯以及阿里巴巴都有自己的搜索体系,而且百度公司的人工智能目前更多是在理论化阶段,距离真正意义上形成产业化还是有一定的距离。
程序员互动联盟
2020/05/14
1K0
在美国,手机没有谷歌play意味着什么?
理解Python中的NoneType对象
在C、Java等类型的语言中,都有null,它常常被定义为与0等效。但是,在Python中并非如此。Python中用关键词None表征null对象,它并不是0,它是Python中的第一类对象。
老齐
2020/06/23
13.4K0
解决AttributeError: ‘NoneType‘ object has no attribute ‘array_interface‘
在使用NumPy进行数组计算时,有时会遇到"AttributeError: 'NoneType' object has no attribute 'array_interface'"的错误。这个错误通常是由于数组对象为None引起的。在本篇文章中,我们将介绍这个错误的原因,并提供解决方法。
大盘鸡拌面
2023/10/14
1.1K0
Unable to find chromedriver...AttributeError: ‘NoneType‘ object has no attribute ‘get‘
Unable to find chromedriver…AttributeError: ‘NoneType’ object has no attribute ‘get’
谙忆
2021/01/19
7880
pip 18.0 install fails with AttributeError: 'NoneType' object has no attribute 'bytes'
是由pycharm创建venv的方式造成的 python -m pip install -U --force-reinstall pip
马哥Python
2019/08/13
5120
pyinstaller打包报错AttributeError: 'NoneType' object has no attribute 'get_filename'
ModuleNotFoundError: No module named 'text_unidecode'
大大刺猬
2022/03/30
2.7K2
为什么这段代码输出的是”Hello World”
Stackoverlfow.com上有一篇有趣的讨论帖: 在这篇帖子里提到了如下的程序: 明明是在程序里使用了java.util.Ramdom()函数产生随机数,为什么每次打出的结果都是Hello w
哲洛不闹
2018/09/14
9930
为什么这段代码输出的是”Hello World”
“这段代码,我在本地运行没问题啊?”
代码仓库 代码是运行互联网项目的核心。在快速迭代的互联网项目开发中,最常见的便是多人共同协作开发场景。将代码托管至云端并使用优秀的代码管理系统,对于开发人员是至关重要的。 CODING DevOps的代码托管服务,除了基本的代码版本管理能力之外,还提供质量门禁、代码扫描等能力,能够帮助开发者规避本地代码管理的局限与安全性障碍,回归开发本身,赋能云端协作,实现快速迭代。 测试管理 CODING Devops的测试管理服务,可以让繁琐的测试过程变得井然有序。测试人员可从用例库灵活组建测试计划,实现用例重复使
博文视点Broadview
2023/05/19
3630
“这段代码,我在本地运行没问题啊?”
为什么这段代码输出的是”Hello World”
Stackoverlfow.com上有一篇有趣的讨论帖: 在这篇帖子里提到了如下的程序: 明明是在程序里使用了java.util.Ramdom()函数产生随机数,为什么每次打出的结果都是Hello w
哲洛不闹
2018/09/19
1K0
为什么这段代码输出的是”Hello World”
“这段代码,我在本地运行没问题啊?”
代码是运行互联网项目的核心。在快速迭代的互联网项目开发中,最常见的便是多人共同协作开发场景。将代码托管至云端并使用优秀的代码管理系统,对于开发人员是至关重要的。
小灰
2021/01/07
7870
“这段代码,我在本地运行没问题啊?”
如何删除对象的某个属性(对象属性方法是什么)
const object = { ‘a’: 1, ‘b’: ‘2’, ‘c’: 3 };
全栈程序员站长
2022/07/29
4.5K0
Python编程常见出错信息及原因分析(2)
(1)缩进错误 演示代码: >>> if 5>3: print('5>3') SyntaxError: expected an indented block >>> for i in range(5): print(i) SyntaxError: expected an indented block 错误原因分析与解决方案: Python代码对缩进的要求非常严格,代码缩进层级决定了代码的所属关系。Python初学者最容易遇到的错误应该就是缩进错误,遇到这样的错误时,要仔细检查代码中的缩进是否与预定义的功能逻
Python小屋屋主
2018/04/16
3.3K0
代码审查|这段代码,为什么复制文件夹总是“成功”?
最近开始一个人负责整个项目的全栈开发和维护,工作中没了和同事交叉 code review 的环节,所以就打算,如果工作中遇到一些比较典型的代码,包括好味道和坏味道,就拿出来分析下,与大家一起交流,作为另一种形式的「交叉 review」。
mzlogin
2023/10/23
1240
jar中没有主清单属性
我今天遇到了一个报错… 我仔细一看发现jar包才893KB大小 检查了一下打包配置,发现: 这块少了个repackage配置… <executions> <execution> <id>repackage</id> <goals> <goal>repackage</goal> </goals> </execution> </executions> 加上就可以了 再次打包就好了
阿超
2022/08/21
2.1K0
jar中没有主清单属性
我说我为什么抽不到SSR,原来是这段代码在作祟...
元素被选中的机会并不相等,而是由相对“权重”(或概率)被选中的,是偏心的,这就是加权随机。
机智的程序员小熊
2023/03/02
1.3K0
我说我为什么抽不到SSR,原来是这段代码在作祟...
.jar中没有主清单属性[通俗易懂]
问题:xxx.jar中没有主清单属性 背景:maven项目,springboot服务    IDEA打包,jar包运行出现上述错误
全栈程序员站长
2022/10/04
3.7K0
.jar中没有主清单属性[通俗易懂]
Python正则表达式
正则表达式为高级的文本模式匹配、抽取、与/或文本形式的搜索和替换功能提供了基础。通过标准库中的re模块来支持正则表达式。 常见的正则表达式符号和特殊字符 表示法 描述 正则表达式示例 符号 re1|re2 匹配正则表达式re1或者re2 foo|bat . 匹配任何字符(除了\n之外) b.b ^ 匹配字符串的起始部分 ^Dear $ 匹配字符串的终止部分 /bin/*sh$ * 匹配0次或者多次前面出现的正则表达式 [A-Za-z0-9]* + 匹配1次或者多次前
用户1173509
2018/01/17
1.6K0
解决方法:opencv读取中文路径图像报错 | AttributeError: ‘NoneType‘ object has no attribute ‘astype‘
在使用开源项目 blind_watermark 给图像添加数字盲水印时,传入图像路径中文时,会出现以上报错。分析它的源码:
叶庭云
2022/05/09
9020
解决方法:opencv读取中文路径图像报错 | AttributeError: ‘NoneType‘ object has no attribute ‘astype‘

相似问题

BeautifulSoup find_all() AttributeError:'NoneType‘对象没有属性'a’

10

AttributeError: NoneType对象没有属性'find_all‘(BeautifulSoup) (ChromeDriver)

28

AttributeError:“NoneType”对象没有属性“find_all”优美汤

30

我正在获取AttributeError:'NoneType‘对象没有属性'find_all’

20

Python Beautiful Soup - AttributeError:'NoneType‘对象没有'find_all’属性

241
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文