使用检查元素从网站提取数据

问题描述 投票:0回答:2

我需要提取入藏号列表。 我是一名生物学博士生,正在使用 NCBI 网站上的 GEOdatabase,该数据库为我提供了基因数据集。 每个数据集都有一个登录号,通常以“GSE”开头,后跟数字。 我想在研究后提取页面中存在的登录号列表。

这是我想从页面中提取的内容的屏幕截图(以黄色突出显示):https://www.ncbi.nlm.nih.gov/gds/?term=brain

当我使用检查元素时,是否可以通过控制台编写脚本来提取它? 或者还有其他想法吗?

抱歉,如果我没有正确使用前一个术语,我不是开发者。

谢谢您的帮助!

javascript python html web inspect
2个回答
0
投票

这相当容易。如果我们查找该页面的 HTML,我们可以看到

Series Accession: ... ID: ...
结果被包装在带有 css 类
<div>
resc
元素中。

要获得这些:

Array.from(document.getElementsByClassName("resc"))

进一步观察,实际结果包含在一对

<dd>
元素中,其中第一个元素保存加入号。

因此,它只是遍历所有

<div class="resc">
元素并记录第一个子
<dd>
元素的文本 - 可以使用 .innerText 属性检索该文本。

执行以下行会将所有数字输出到控制台:

Array.from(document.getElementsByClassName("resc")).forEach(result => {console.log(result.getElementsByTagName("dd")[0].innerText)})

0
投票

有一个名为 Beautifulsoup 的抓取库适用于这种情况https://www.crummy.com/software/BeautifulSoup/bs4/doc/

您可以右键单击并检查黄色标记,获取类的名称并构建您的 python 脚本。

© www.soinside.com 2019 - 2024. All rights reserved.