admin管理员组文章数量:1434904
I am attempting to write a code using beautiful soup that prints the text for the links in the left handed gray box on this webpage. In this case the code should return
** Enchantments Bouldering
Aasgard Sentinel
Argonaut Peak
Cashmere Mountain
Colchuck Balanced Rock
Colchuck Peak
Crystal Lake Tower
Dragontail Peak
Flagpole, The
Headlight Basin
Ingalls Peak
Jabberwocky Tower
Mt Stuart
Nightmare Needles
Prusik Peak
Rat Creek Spires
Sherpa Peak
Stuart Lake Basin
Viviane Campsite
Witches Tower
I am trying to generalize the wonderful answers to this very similar question, but when inspecting the source for my new web page, I can not find a table being used, and can't decipher what the container is to reference in the following lines of code:
table = soup.find(lambda tag: tag.name=='???' and tag.has_attr('??') and tag['id']=="???")
rows = table.findAll(lambda tag: tag.name=='a')
I am attempting to write a code using beautiful soup that prints the text for the links in the left handed gray box on this webpage. In this case the code should return
** Enchantments Bouldering
Aasgard Sentinel
Argonaut Peak
Cashmere Mountain
Colchuck Balanced Rock
Colchuck Peak
Crystal Lake Tower
Dragontail Peak
Flagpole, The
Headlight Basin
Ingalls Peak
Jabberwocky Tower
Mt Stuart
Nightmare Needles
Prusik Peak
Rat Creek Spires
Sherpa Peak
Stuart Lake Basin
Viviane Campsite
Witches Tower
I am trying to generalize the wonderful answers to this very similar question, but when inspecting the source for my new web page, I can not find a table being used, and can't decipher what the container is to reference in the following lines of code:
table = soup.find(lambda tag: tag.name=='???' and tag.has_attr('??') and tag['id']=="???")
rows = table.findAll(lambda tag: tag.name=='a')
Share
Improve this question
asked Nov 16, 2024 at 23:05
Prince MPrince M
4413 silver badges14 bronze badges
0
2 Answers
Reset to default 2It's unclear what problem you're having but to get the required output is trivial:
import requests
from bs4 import BeautifulSoup as BS
url = "https://www.mountainproject/area/110928184/stuart-enchantments"
with requests.get(url) as response:
response.raise_for_status()
soup = BS(response.text, "html.parser")
for a in soup.select("div.lef-nav-row a"):
print(a.get_text(strip=True))
Output:
** Enchantments Bouldering
Aasgard Sentinel
Argonaut Peak
Cashmere Mountain
Colchuck Balanced Rock
Colchuck Peak
Crystal Lake Tower
Dragontail Peak
Flagpole, The
Headlight Basin
Ingalls Peak
Jabberwocky Tower
Mt Stuart
Nightmare Needles
Prusik Peak
Rat Creek Spires
Sherpa Peak
Stuart Lake Basin
Viviane Campsite
Witches Tower
if you already have the soup, then you just need to find the main container. here it's a div of class mp-sidebar
, then take all links
links = soup.select('div.mp-sidebar a')
for link in links:
print(link.text)
本文标签: pythonUsing BeautifulSoup to extract Titles from Text BoxStack Overflow
版权声明:本文标题:python - Using BeautifulSoup to extract Titles from Text Box - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1745644912a2668075.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论