我正在尝试抓取此页面https://www.ncbi.nlm.nih.gov/gene/2597,以使用IMPORTXML
将“正式全名”,“也称为”和其他一些信息发送到Google表格。
对于“正式全名”(e.g. glyceraldehyde-3-phosphate dehydrogenase
),我尝试这样做:
=IMPORTXML("https://www.ncbi.nlm.nih.gov/gene/55054", "//*[@id="summaryDl"]/dd[2]/text()")
给我#N / A
因此,我尝试将""
更改为''
,以使用放置URL和查询的单元格,以所有可能的方式更改查询:D。
我注意到我可以使用IMPORTHTML
(并在页面中包含有关表的一些信息)或IMPORTRSS
,但无法获取所需的信息。因此,我认为该网站不会阻止抓取。
我认为这是一个JS或XML问题,但事实并非如此(我认为...也许我错过了一些东西)。我什至尝试使用某人代码中的IMPORTJSON
,但什么也收不到(老实说,可能太复杂了,无法使用。)
我真的在这里被封锁,所以如果有人可以帮助...?
答案 0 :(得分:1)
您可以尝试直接抓取源代码:
=ARRAY_CONSTRAIN(IMPORTDATA("https://www.ncbi.nlm.nih.gov/gene/55054"), 10000, 1)
然后执行类似的操作以获取“也称为”值:
=REGEXREPLACE(QUERY(
{{""; ARRAY_CONSTRAIN(IMPORTDATA("https://www.ncbi.nlm.nih.gov/gene/55054"), 500, 1)},
{ARRAY_CONSTRAIN(IMPORTDATA("https://www.ncbi.nlm.nih.gov/gene/55054"), 500, 1); ""}},
"select Col2 where Col1 contains'Also known as'"), "<dd>|</dd>", "")