web-scraping - 如何通过 BeautifulSoup 提取带有 href 的列表项?
问题描述
HTML 如下所示:
<h2 class="block-title">Content</h2>
<div class="catalog-list column-1">
<ol>
<li class="level1">
<span class="index">1</span>
<span class="text"><a href="#1">Basic Info</a></span>
</li>
<li class="level1">
<span class="index">2</span>
<span class="text"><a href="#2">Life</a></span>
</li>
<li class="level1">
<span class="index">3</span>
<span class="text"><a href="#3">Achievements</a></span>
</li>
</ol>
</div>
</div>
</div>
<div class="anchor-list ">
<a name="1" class="lemma-anchor para-title" ></a>
<a name="sub20964854_1" class="lemma-anchor " ></a>
<a name="Basic Info" class="lemma-anchor " ></a>
</div><div class="para-title level-2" label-module="para-title">
<h2 class="title-text"><span class="title-prefix">John Smith</span>Basic Info</h2>
<a class="edit-icon j-edit-link" data-edit-dl="1" href="javascript:;"><em class="cmn-icon wiki-lemma-icons wiki-lemma-icons_edit-lemma"></em>edit</a>
</div>
<div class="para" label-module="para">Name:John Smith</div>
<div class="para" label-module="para">Nationality:USA</div>
<div class="para" label-module="para">Sex:Male</div>
<div class="para" label-module="para">Height:184cm</div>
<div class="para" label-module="para">Birthday:1994-06-01</div>
<div class="para" label-module="para">Place:CA, USA<sup class="sup--normal" data-sup="1" data-ctrmap=":1,">
我想提取“基本信息”部分,其href没有。是“#1”,下面是我要提取的属性列表。
我正在使用 BeautifulSoup。我遇到了处理其他标签的方法,但不知道如何处理这些标签,即'label-module'。
解决方案
尝试这个。
from simplified_scrapy import SimplifiedDoc
html = ''''''
doc = SimplifiedDoc(html)
baseInfoH2 = doc.getElementByText('Basic Info','h2')
baseInfo = doc.getElements('div',attr='label-module',value='para',start=baseInfoH2._end).text # Use h2 to locate
print (baseInfo)
结果:
['Name:John Smith', 'Nationality:USA', 'Sex:Male', 'Height:184cm', 'Birthday:1994-06-01']
推荐阅读
- javascript - 分配给复选框更改的布尔值上的 ngOnChanges 未捕获
- ansible - 仅当任务之前未运行或版本更改时才以 ansible 角色运行任务
- powershell - 在具有特定修改日期的文件中搜索单词
- c# - 在 lerp 动画结束之前调用 Unity awaitForSeconds
- authentication - Apache2 忽略“授权结果
:拒绝(还没有经过身份验证的用户)”并让随机用户登录 - json - Conda 存储库中“已删除”部分的含义是什么
- javascript - 如何在数据表中使用 onmouseover 显示图形
- c# - System.UnauthorizedAccessException: '访问路径'c:\Documents and Settings' 被拒绝。' C#
- java - 无法在 Spock 中断言值
- python - 如果我在for循环中使用while循环,while循环不应该根据for循环的范围重复吗?