Python 如何解析要使用bs4的字符串?

Python 如何解析要使用bs4的字符串?,python,parsing,beautifulsoup,web-crawler,Python,Parsing,Beautifulsoup,Web Crawler,这是html架构 <a href="/main/list.nhn?mode=LS2D&amp;mid=shm&amp;sid1=100&amp;sid2=264" class="snb_s11 nclicks(lmn_pol.mnl,,1)">BlueHouse <span class="blind">selected</span></a> 当我运行该代码只获取B

这是html架构

<a href="/main/list.nhn?mode=LS2D&amp;mid=shm&amp;sid1=100&amp;sid2=264" class="snb_s11 nclicks(lmn_pol.mnl,,1)">BlueHouse <span class="blind">selected</span></a>
当我运行该代码只获取Blue House时,它会给我选择的结果。

但我只想要蓝色的房子。那我该怎么办呢? 下面是我的全部代码

    def crwaling_data_bluehouse(self):
        # setting web driver to get object
        chrome_driver = webdriver.Chrome('D:/바탕 화면/인턴/python/crawling_software/crwaler/news_crwaling/chromedriver.exe')
        url = 'https://news.naver.com/main/list.nhn?mode=LS2D&mid=shm&sid1=100&sid2=264'
        chrome_driver.get(url)
        html = chrome_driver.page_source
        soup = BeautifulSoup(html, 'html.parser')
        
        #get main category
        main_category = soup.find('a',{'class':'nclicks(LNB.pol)'}).find('span',{'class':'tx'}).get_text()
        self.set_main_category(main_category)
        
        #get middle category
        middle_category = soup.find('a',{'class':'snb_s11 nclicks(lmn_pol.mnl,,1)'}).get_text()
        middle_category = middle_category.find_next(text = True)
        self.set_middle_category(middle_category)
        
        #get title
        title = soup.find('ul',{'class':'type06_headline'}).find('a')['href']
        self.set_title(title)
您可以使用仅返回第一个匹配项的:

from bs4 import BeautifulSoup

txt = """<a href="/main/list.nhn?mode=LS2D&amp;mid=shm&amp;sid1=100&amp;sid2=264" class="snb_s11 nclicks(lmn_pol.mnl,,1)">BlueHouse <span class="blind">selected</span></a>"""
soup = BeautifulSoup(txt, 'html.parser')

middle_category = soup.find('a', {'class': 'snb_s11 nclicks(lmn_pol.mnl,,1)'})
print(middle_category.find_next(text=True))
编辑不要调用
获取文本()
。而不是

middle\u category=soup.find('a',{'class':'snb\u s11 nclicks(lmn\u pol.mnl,1)}).get\u text()


使用
middle\u category=soup.find('a',{'class':'snb\u s11 nclicks(lmn\u pol.mnl,1)}).find\u next(text=True)

当我像你一样使用find\u next()时,我得到一个AttributeError:'str'对象没有“find\u next”属性。@YangDongJae请编辑你原始问题帖子中的代码,我还不习惯它。我编辑到我的原始代码@杨东在看我的编辑。不要调用
get_text()
,因为您将获得
str
而不是
beautifulsoup
object@YangDongJae如果这个或任何答案解决了你的问题,考虑一下
BlueHouse