如何使用Python和BeautifulSoup获取同class下第二、第三个p标签内容
解决方案
我以Python的BeautifulSoup库为例给你实现步骤,你可以直接复用逻辑:
- 首先你已经成功获取了主题内容,后续你可以按照页面区块的class属性定位另外两个模块:
- 摘要段落:对应页面里
class="event abstract"的div区块下的所有p标签内容,遍历把文本拼接存入摘要列表即可 - 个人简介:对应页面里
class="section speaker-bio"的区块下的所有p标签内容,提取文本后存入个人简介列表
- 摘要段落:对应页面里
- 示例代码片段:
from bs4 import BeautifulSoup import requests # 你已经完成的页面请求部分 url = "http://www.globalbigdataconference.com/santa-clara/global-artificial-intelligence-virtual-conference-125/speaker-details/aaron-burciaga-114059.html" resp = requests.get(url) soup = BeautifulSoup(resp.text, "lxml") # 你已拿到的主题列表,这里示例补充 topic_list = [] topic = soup.find("h1", class_="speakers-hero-title").text.strip() topic_list.append(topic) # 提取摘要存入列表 abstract_list = [] abstract_block = soup.find("div", class_="event abstract") if abstract_block: for p in abstract_block.find_all("p"): abstract_text = p.text.strip() if abstract_text: abstract_list.append(abstract_text) # 提取个人简介存入列表 bio_list = [] bio_block = soup.find("div", class_="section speaker-bio") if bio_block: for p in bio_block.find_all("p"): bio_text = p.text.strip() if bio_text: bio_list.append(bio_text)
- 注意点:如果页面class有微调,你可以打开浏览器F12开发者工具,鼠标选中你要提取的摘要/简介区域,右键「检查」就能看到对应元素的class属性,替换代码里的class值即可适配。
内容的提问来源于stack exchange,提问作者Raspberry Lemon
相关产品推荐
相关产品推荐

