无法解析 Beautifulsoup 中 </span>text</a> 后面的文本
Can't parse out text that is behind </span>text</a> in Beautifulsoup
我想我已经尝试了所有方法,阅读了糟糕的内容,阅读了 Beautifulsoup4 网站上的文档。我脑子里怎么也缠不上这个东西
那么问题来了:
<a class="ellipsis" href="/aktier/om-aktien.html/5246/investor-a">
<span class="flag small SE"></span>Investor A</a>
<a class="ellipsis" href="/aktier/om-aktien.html/5247/investor-b">
<span class="flag small SE"></span>Investor B</a>
我只想要/span> "text" <a/>
后面的文字。
这是代码:
def scrape(self):
self.get(const.StockPicks)
html = self.page_source
soup = BeautifulSoup(html, "lxml")
StockPage = soup.find_all("div", class_="orderbookListWrapper")
StockNameBook = []
for StockPages in StockPage:
StockName = StockPages.find_all("a", class_="ellipsis")
StockNameBook.append(StockName)
print (StockNameBook)
接下来我可以尝试什么?
text behind /span> "text"
是 a tag
的文本节点。所以你必须 select [a class="ellipsis" ] 然后你可以调用 .get_text()
方法来获取文本节点值 text/string
html='''
<html>
<body>
<a class="ellipsis" href="/aktier/om-aktien.html/5246/investor-a">
<span class="flag small SE">
</span>
Investor A
</a>
<a class="ellipsis" href="/aktier/om-aktien.html/5247/investor-b">
<span class="flag small SE">
</span>
Investor B
</a>
</body>
</html>
'''
from bs4 import BeautifulSoup
soup = BeautifulSoup(html,'lxml')
#print(soup.prettify())
for span in soup.find_all('a',class_="ellipsis"):
txt = span.get_text(strip=True)
print(txt)
输出:
Investor A
Investor B
我想我已经尝试了所有方法,阅读了糟糕的内容,阅读了 Beautifulsoup4 网站上的文档。我脑子里怎么也缠不上这个东西
那么问题来了:
<a class="ellipsis" href="/aktier/om-aktien.html/5246/investor-a">
<span class="flag small SE"></span>Investor A</a>
<a class="ellipsis" href="/aktier/om-aktien.html/5247/investor-b">
<span class="flag small SE"></span>Investor B</a>
我只想要/span> "text" <a/>
后面的文字。
这是代码:
def scrape(self):
self.get(const.StockPicks)
html = self.page_source
soup = BeautifulSoup(html, "lxml")
StockPage = soup.find_all("div", class_="orderbookListWrapper")
StockNameBook = []
for StockPages in StockPage:
StockName = StockPages.find_all("a", class_="ellipsis")
StockNameBook.append(StockName)
print (StockNameBook)
接下来我可以尝试什么?
text behind /span> "text"
是 a tag
的文本节点。所以你必须 select [a class="ellipsis" ] 然后你可以调用 .get_text()
方法来获取文本节点值 text/string
html='''
<html>
<body>
<a class="ellipsis" href="/aktier/om-aktien.html/5246/investor-a">
<span class="flag small SE">
</span>
Investor A
</a>
<a class="ellipsis" href="/aktier/om-aktien.html/5247/investor-b">
<span class="flag small SE">
</span>
Investor B
</a>
</body>
</html>
'''
from bs4 import BeautifulSoup
soup = BeautifulSoup(html,'lxml')
#print(soup.prettify())
for span in soup.find_all('a',class_="ellipsis"):
txt = span.get_text(strip=True)
print(txt)
输出:
Investor A
Investor B