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