【问题标题】:How to extract all the hyperlinks and their text strings from HTML?如何从 HTML 中提取所有超链接及其文本字符串?
【发布时间】:2020-08-24 20:03:10
【问题描述】:

我有一个带有一堆超链接的 html 大文本文件,例如:

"Hello I want to talk about <a href="www.google.com">Google</a> and <a href="www.facebook.com">Facebook</a>."

我正在寻找一种从 txt 文件中提取所有这些内容的方法,这样我就有了一个包含以下列表的大 Google 表格:

  1. www.google.com — 谷歌
  2. www.facebook.com — Facebook

等等……

但是,我的编码知识基本上为零,所以我正在寻找一个关于如何做到这一点的非常简单的解释(例如,如果你认为我应该使用 Python 脚本,我需要知道如何做到这一点,要做什么下载等)。

非常感谢您提供有用的答案!

【问题讨论】:

  • 这个问题对于 Stack Overflow 来说太宽泛了。问题确实需要具体和技术性。我建议阅读有关正则表达式的内容。网上有例子可以匹配超链接
  • 互联网上哪里是我提出这些广泛问题的好地方?
  • 有很多好的编程论坛,r/learnprogramming 是个好地方。

标签: html google-sheets


【解决方案1】:

在你的电脑上安装 python

Download here

How to install python video tutorial

在你的命令行上写 pip install linkGrabber:

然后编写以下命令:

python
import re
import linkGrabber
link = linkGrabber.Links('your url')
grab = link.find(limit=4, duplicates=False, pretty=True)
#Change the value limit as needed.

结果应打印在屏幕上:

【讨论】:

    【解决方案2】:

    “一个大文本文件”有点模棱两可。但你可以试试这个:

    1.) 打开一张空白的 Google 表格。

    2.) 将整个“大文本文件”复制并粘贴到单元格 A1 中。如果您希望它在插入后看起来不那么凌乱,请单击单元格并从菜单中选择 Format > Text wrapping > Clip

    3.) 将以下数组公式放入单元格 C1 中:

    =ArrayFormula(QUERY(SPLIT(QUERY(SPLIT(TRANSPOSE(SPLIT(A1,"</a>",0)),"href="&CHAR(34),0),"Select Col2"),CHAR(34)&">",0),"Select * Where Col2 Is Not Null"))
    

    如果这为您提供了所需的结果,您可以通过选择整个 C 列,按 Ctrl-C 复制到剪贴板,然后(在该列仍处于选中状态)按 Ctrl- 硬拷贝这些结果Alt-V 选择性粘贴。一个小的剪贴板图标将出现在可见屏幕的右下方。单击它并选择“仅粘贴值”。

    此解决方案基于您在帖子的示例文本中提供的内容。它还假设您的“大文本文件”没有分段符,一旦粘贴到 Google 表格中,就会将其分隔到不同的单元格中。如果粘贴时它确实分解为沿 A 列向下的单独单元格,则需要执行几个中间步骤:

    a.) 要“整理”A 列,请在应用 格式 > 文字环绕 > 剪辑之前选择整个列。

    b.) 将以下公式放入 B1:=JOIN(,A:A)

    c.) 将我上面提供的公式中的A1 更改为B1

    如果所有这些都不起作用,请考虑将您的“大文本文件”内容粘贴到工作表中的 A1 中,然后在此处共享该工作表的链接,确保将链接上的共享权限设置为“任何人链接可以编辑。”然后我或这里的其他人可以亲自查看您正在使用的内容并进行调整。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-12-04
      • 2020-03-26
      • 2012-11-29
      • 2020-02-28
      • 2011-02-10
      • 2011-02-25
      • 2016-08-26
      • 1970-01-01
      相关资源
      最近更新 更多