target="_blank" 的用法

本文介绍如何使用HTML中的_target=_blank_属性来使链接或表单操作在新窗口或新标签页中打开,避免干扰当前页面的浏览体验。

其实<a>、<form>等很多标签都支持target="_black"的属性,建议在这样的标签里单独做设置,比如:

<a href="xxx.htm" target="_blank">超链接内容</a>

<form action="xxx.htm" target="_blank">表达内容<input type="submit" value="提交按钮"></form>
解释说明:
加上target="_blank",弹出一个新的页面。不会占用父类页面。
不加target="_blank",弹出一个新的页面。会占用父类页面。

<think>我们有一个HTML片段,需要从中提取以下信息:1.菜名(在class为"name"的p标签内的a标签内)2.菜品的URL(在菜名a标签的href属性)3.食材列表(在class为"ing"的p标签内,由多个a标签组成,中间用顿号分隔)4.七天内做过的人数(在class为"stats"的p标签内,在"七天内"后面的span标签内)5.作者名(在class为"author"的p标签内的a标签内)我们可以使用BeautifulSoup来解析这个HTML片段并提取所需信息。</think> ```python from bs4 import BeautifulSoup html_doc = """ <div class="info pure-u"> <p class="name"> <a href="/recipe/107388310/" data-click-tracking-url="" data-expose-tracking-url="" target="_blank"> 鸡蛋火腿炒青椒 </a> <i class="step-icon ml5"></i> </p> <p class="ing ellipsis"> <a href="/category/662/" target="_blank">青椒</a>、<a href="/category/394/" target="_blank">鸡蛋</a>、<a href="/category/5305/" target="_blank">火腿肠</a>、<a href="/category/2269/" target="_blank">蒜</a>、<a href="/category/1779/" target="_blank">蚝油</a>、<a href="/category/2362/" target="_blank">生抽</a>、<a href="/category/1805/" target="_blank">盐</a> </p> <p class="stats green-font">七天内 <span class="bold">6</span> 人做过</p> <p class="author"> <a href="/cook/167794494/" class="gray-font" target="_blank">今天好好吃饭了咩</a> </p> </div> """ # 解析HTML内容 soup = BeautifulSoup(html_doc, 'lxml') # 1. 提取菜名和链接 dish_name = soup.find('p', class_='name').a.text.strip() dish_url = soup.find('p', class_='name').a['href'] print(f"菜名: {dish_name}") print(f"菜谱URL: {dish_url}") # 2. 提取食材列表 ingredients = [a.text.strip() for a in soup.find('p', class_='ing').find_all('a')] ingredients_str = '、'.join(ingredients) # 用顿号分隔食材 print(f"食材: {ingredients_str}") # 3. 提取七天内做过的人数 stats_text = soup.find('p', class_='stats').get_text(strip=True) num_done = soup.find('p', class_='stats').find('span', class_='bold').text print(f"七天内做过人数: {num_done}人") # 4. 提取作者信息 author_name = soup.find('p', class_='author').a.text.strip() author_url = soup.find('p', class_='author').a['href'] print(f"作者: {author_name}") print(f"作者主页: {author_url}") ``` ### 代码解释: 1. **HTML解析**: - 使用`BeautifulSoup(html_doc, 'lxml')`解析HTML内容 - `lxml`解析器速度快且高效,适合处理HTML文档 2. **菜名和链接提取**: - 通过`class='name'`定位到菜名所在的p标签 - 使用`.a.text.strip()`获取菜名并去除多余空白字符 - 通过`.a['href']`获取菜谱链接 3. **食材提取**: - 查找`class='ing'`的p标签 - 使用列表推导式`[a.text.strip() for a in ...]`提取所有a标签的文本内容 - 用`'、'.join()`将食材列表转换为顿号分隔的字符串 4. **统计信息提取**: - 定位`class='stats'`的p标签 - 使用`.find('span', class_='bold')`定位人数所在的span标签 - 通过`.text`获取具体数字 5. **作者信息提取**: - 定位`class='author'`的p标签 - 获取作者名和作者主页链接,方法与菜名获取类似 ### 提取结果: ``` 菜名: 鸡蛋火腿炒青椒 菜谱URL: /recipe/107388310/ 食材: 青椒、鸡蛋、火腿肠、蒜、蚝油、生抽、盐 七天内做过人数: 6人 作者: 今天好好吃饭了咩 作者主页: /cook/167794494/ ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值