Python 属性错误:';NavigableString';对象没有属性';查找所有';(名称错误)

Python 属性错误:';NavigableString';对象没有属性';查找所有';(名称错误),python,html,beautifulsoup,scrapy,Python,Html,Beautifulsoup,Scrapy,在这段代码中,当我运行这段代码时。我有这样的错误。 “AttributeError:'NavigableString'对象没有'find_all'属性” 我怎样才能解决这个问题???? 我已经试过了试除法。但是,它不起作用 //Html代码 import requests from bs4 import BeautifulSoup url=("http://finance.naver.com/news/mainnews.nhn") r=requests.get(url) soup=Beauti

在这段代码中,当我运行这段代码时。我有这样的错误。 “AttributeError:'NavigableString'对象没有'find_all'属性”

我怎样才能解决这个问题???? 我已经试过了试除法。但是,它不起作用

//Html代码

import requests
from bs4 import BeautifulSoup
url=("http://finance.naver.com/news/mainnews.nhn")

r=requests.get(url)
soup=BeautifulSoup(r.content)

a_data = soup.find_all("li",{"class":"block1"})

for item in a_data:
    print item.contents[0].find_all("dt",{"class":"articleSubject"})[0].text
  • 다음카카오가 합병을 위한 마지막 문턱을 넘어섰다. 네이버의 독주가 지속되고 있는 온라인·모바일 업계에 적지 않은 시장 판도 변화가 예상된다. 27일 다음과 카카오는 각각 제주 .. 매일경제 | 2014-08-27 11:40:05

  • 如果您试图使用
    属性
    文章主题
    查找与
    dt
    相关的文本,您可以直接在
    中找到它

    通过这样做:

    <li class="block1">
    <dl>
    <dt class="articleSubject">
    <span class="remark"></span> <!-- 말머리는 span class="remark" 로 묶임 -->
    <a href="/news/news_read.nhn?       
    article_id=0003289339&amp;office_id=009&amp;mode=mainnews&amp;type=&amp;date=2014-08-   
    27&amp;page=1">**시총 9조 `모바일 공룡` 다음카카오 합병 승인…업계 지각변동 예고**</a>
    </dt>
    <dd class="articleSummary">
    다음카카오가 합병을 위한 마지막 문턱을 넘어섰다. 네이버의 독주가 지속되고 있는 온라인·모바일 업계에    
    적지 않은 시장 판도 변화가 예상된다.   27일 다음과 카카오는 각각 제주 ..
                                        <span class="press">매일경제 </span>
    <span class="bar">|</span>
    <span class="wdate">2014-08-27 11:40:05</span>
    </dd>
    </dl>
    </li>
    
    这张照片是:

    >>> for item in a_data:
    ...     print item.find_all("dt",{"class":"articleSubject"})[0].text
    
    对于上面的HTML。如果针对代码中的URL运行此代码,将得到20个结果


    item.contents
    是以
    \n
    作为第一项的列表。因此,在新行字符上执行
    find_all()
    会抛出
    AttributeError

    我会在循环中将导航字符串与标记分开。第一:

    **시총 9조 `모바일 공룡` 다음카카오 합병 승인…업계 지각변동 예고**
    
    然后在循环中,使用以下方法测试soup中的所有元素,以查看它们是标记还是Navigablestring:

    import NavigableString
    

    从您的代码中不清楚NavigableString是从BS4导入的,而不是
    find_all(…)[0]
    ,请使用
    find(…)
    if isinstance(object, NavigableString):
        Do something with this event
    else:
        Do something with thing that is not NavigableString