繁体   English   中英

如何在python中修复此“ AttributeError”?

[英]How to fix this “AttributeError” in python?

我已经用Google搜索我的错误消息“ AttributeError:'NoneType'对象没有属性'text'”,但是我仍然找不到解决该错误的方法。 请帮忙!

# -*- coding: UTF-8 -*-
import io
import sys

sys.stdout=io.TextIOWrapper(sys.stdout.buffer,encoding='utf8')
import requests
from bs4 import BeautifulSoup

print('蘋果今日焦點')
dom = requests.get('http://www.appledaily.com.tw/appledaily/hotdaily/headline').text
soup = BeautifulSoup(dom, 'html5lib')
for ele in soup.find('ul', 'all').find_all('li'):
    print(
        ele.find('div', 'aht_title_num').text,
        ele.find('div', 'aht_title').text,
       # ele.find('div', 'aht_pv_num').text
    )
print('---------------------------------')
print('自由今日焦點')
dom = requests.get('http://news.ltn.com.tw/list/breakingnews').text
soup = BeautifulSoup(dom, 'html5lib')
for ele in soup.find('ul','list').find_all('li'):
    print(ele.find('p').text)

我得到的错误是

Traceback (most recent call last):
File "ch3-news.py", 
line 23, in <module> print(ele.find('p').text)
AttributeError: 'NoneType' object has no attribute 'text'

您可以更改为使用select并编写CSS选择器,该选择器将仅返回现有的子p标签

import requests
from bs4 import BeautifulSoup

dom = requests.get('http://news.ltn.com.tw/list/breakingnews').text
soup = BeautifulSoup(dom, 'html5lib')
for ele in soup.select('ul li p ,  list li p'):
    print(ele.text)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM