Python Beautiful Soup 'NoneType' 对象错误

标签 python html beautifulsoup findall

我正在使用 Beautiful Soup 获取网页正文中的超链接。这是我使用的代码

import urllib2
from bs4 import BeautifulSoup

url = 'http://www.1914-1918.net/swb.htm'
element = 'body'
request = urllib2.Request(url)
page = urllib2.urlopen(request).read()
pageSoup = BeautifulSoup(page)
for elementSoup in pageSoup.find_all(element):
  for linkSoup in elementSoup.find_all('a'):
    print linkSoup['href']

当我试图找到 swb.htm 页面的超链接时,我得到了一个 AttributeError。

AttributeError: 'NoneType' 对象没有属性 'next_element'

我确定在 body 元素下有一个 body 元素和几个“a”元素。但奇怪的是它适用于其他页面(例如 http://www.1914-1918.net/1div.htm )。

这个问题困扰我好几天了。谁能指出我做错了什么。

截图

enter image description here

最佳答案

您的打印有误。 应该是:

import urllib2
from bs4 import BeautifulSoup

url = 'http://www.1914-1918.net/swb.htm'
element = 'body'
request = urllib2.Request(url)
page = urllib2.urlopen(request).read()
pageSoup = BeautifulSoup(page)
for elementSoup in pageSoup.find_all(element):
  for linkSoup in elementSoup.find_all('a'):
    print linkSoup['href']

对我来说,这会返回很多链接。

关于Python Beautiful Soup 'NoneType' 对象错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23113803/

相关文章:

python - 如何在 oauth 2.0 上自动使用刷新 token 获取访问 token

Python Flask - 将 POST 数据添加到 sqlite 数据库

javascript - 页面加载后强制聚焦 ~unique

python - 在使用 Python 和 Beautiful Soup 4 抓取 Twitter 时关注特定结果?

python - 无法刮

python - 根据工作表名称从多个Excel工作簿中创建数据框?

python - Latex 和嵌入式 python 代码的编译问题

php - jQuery 不会删除内存游戏对

html - 如何在不使用绝对对齐的情况下将内容对齐到 flex 容器的底部?

python - 使用 Beautiful Soup 从非类部分获取数据