【问题标题】:I receive AttributeError: 'NoneType' object has no attribute 'text', but can't find errors in my "HTML code"我收到 AttributeError:'NoneType' 对象没有属性 'text',但在我的“HTML 代码”中找不到错误
【发布时间】:2021-03-09 22:58:49
【问题描述】:

我不断收到此错误,并多次检查了 html 源代码,如下所示。我很确定我找到了正确的元素,所以文本部分在技术上应该存在。

背景:构建网络爬虫;试图提取标题。奇怪的是,用于提取摘要文本和链接的代码都有效 - 只是标题无效。

from bs4 import BeautifulSoup
import requests 
url = "https://www.ribbonfarm.com/"
source = requests.get(url, headers = {"User-Agent" : "Mozilla/5.0"}).text
soup = BeautifulSoup(source, 'lxml')

article = soup.find("div")

headline = soup.find("h1", class_ = "entry-title").text
print (headline)

我收到的错误消息:回溯(最近一次通话最后一次): 文件“main.py”,第 9 行,在 标题 = soup.find("h1", class_ = "entry-title").text AttributeError: 'NoneType' 对象没有属性 'text'

HTML Source Code from Website

谢谢!

【问题讨论】:

  • article = soup.find("div") ..哪个div?
  • @AbhishekRai 嗯... Corey Schafer 使用了一个更独特的元素,称为“文章”(github.com/CoreyMSchafer/code_snippets/blob/master/…),但我找不到,所以我只使用了 div。该特定文章的 html 代码是 ```` div class="post-7348 post type-post status-publish format-standard has-post-thumbnail hentry category-general series-captains-log entry" ```` 其中感觉不对,因为它是针对那篇文章的,而不是对页面上的每一篇文章都通用。有什么建议吗?
  • 奇怪的是,我对摘要文本和链接的抓取仍然有效。所以我不认为这是主要问题,但也不知道是什么。
  • 您到底想从页面中获得什么? MJD 59,143 ..这些?
  • soup.find_all("h1", class_ = "entry-title") 得到什么结果(注意我这里没有使用.text,我想查看实际的标签)?

标签: python html web-scraping beautifulsoup nonetype


【解决方案1】:

不是 100% 清楚您到底想要什么。这是要走的路..虽然。

from bs4 import BeautifulSoup
import requests
url = "https://www.ribbonfarm.com/"
source = requests.get(url, headers = {"User-Agent" : "Mozilla/5.0"})
soup = BeautifulSoup(source.content, 'html.parser')



article = soup.find("div", class_="hfeed")
title_h2 = article.find_all('div')
for title in title_h2:
    ans = title.find('a')
    print(ans.text)

输出:-

MJD 59,169
Venkatesh Rao
Captain's Log
Captain's Log
6 Comments
MJD 59,163
Venkatesh Rao
Captain's Log
Captain's Log
1 Comment
MJD 59,151
Venkatesh Rao
Captain's Log
Captain's Log
3 Comments
MJD 59,145
Venkatesh Rao
Captain's Log
Captain's Log
4 Comments
MJD 59,143
Venkatesh Rao
Captain's Log
Captain's Log
5 Comments
Clockmaking: 2
Venkatesh Rao
Clockmaking
Clockmaking
4 Comments
MJD 59,128
Venkatesh Rao
Captain's Log
Captain's Log
2 Comments
Mansionism 2: Bungalows
Venkatesh Rao
Mansionism
Mansionism
6 Comments
Notes: The Marshall Plan by Benn Steil
Venkatesh Rao
Book Notes
Book Notes

2 Comments
Epistemic Reserve Notes
Mike Elias
Wittgenstein’s Revenge,
1 Comment
1

【讨论】:

  • 抱歉,不知道为什么我的 html 代码搞砸了。这绝对有帮助,谢谢!
猜你喜欢
  • 1970-01-01
  • 2019-07-18
  • 1970-01-01
  • 2022-07-17
  • 1970-01-01
  • 2023-03-03
  • 2019-01-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多