使用 Python BeautifulSoup 单击链接

2024-03-01

所以我是 Python 新手(我来自 PHP/JavaScript 背景),但我只是想编写一个快速脚本来抓取网站和所有子页面以查找所有内容a标签有href属性,数一下有多少个,然后单击链接。我可以计算所有链接,但我不知道如何“单击”链接然后返回响应代码。

from bs4 import BeautifulSoup
import urllib2
import re

def getLinks(url):
    html_page = urllib2.urlopen(url)
    soup = BeautifulSoup(html_page, "html.parser")
    links = []

    for link in soup.findAll('a', attrs={'href': re.compile("^http://")}):
        links.append(link.get('href'))
    return links

anchors = getLinks("http://madisonmemorial.org/")
# Click on links and return responses
countMe = len(anchors)
for anchor in anchors:
    i = getLinks(anchor)
    countMe += len(i)
    # Click on links and return responses

print countMe

这是否有可能BeautifulSoup?
另外,我并不是在寻找确切的代码,我真正在寻找的只是函数调用使用的正确方向的点或类似的东西。谢谢!


Urlopen是适合您目的的更好解决方案,但如果您需要单击并与网络上的元素进行交互,我建议使用selenium webdriver。有 Java、Python 和其他语言的实现。我已经将它与 Java 和 Python 一起使用,效果非常好。您可以无头运行它,这样浏览器实际上不会打开。

pip install selenium
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Python BeautifulSoup 单击链接 的相关文章

随机推荐

  • 从 DDS 中删除读取主题

    我在订阅数据时遇到问题 使用java平台 当订阅者订阅某个主题时 必须从 DDS 中删除该订阅的数据 但就我而言 每当我订阅数据时 相同的数据就会被订阅多次 数据不会从 DDS 中删除 我尝试过 QoS 但不知道如何使用它 请建议我如何从
  • 将数组分为 2 个子数组并检查乘法是否相等

    我正在为 Java 考试进行练习 我今天面临的问题之一是 给定一个包含 n 个数字的数组 我需要检查是否有 2 个子数组 不必相等 它们的乘法相等 如果有 将返回 true 否则返回 false 例如 如果数组是 2 15 3 4 2 5
  • NG-使用过滤器重复与当前日期进行比较?

    好的 我有一个包含日期列表的对象 我像这样遍历它
  • 在 Keras/Tensorflow 自定义损失函数中使用额外的“可训练”变量

    我知道如何在 Keras 中使用附加输入 而不是标准输入 编写自定义损失函数y true y pred配对 见下文 我的问题是输入损失函数可训练的变量 其中一些 是损失梯度的一部分 因此应该更新 我的解决方法是 输入网络的虚拟输入NXV大小
  • 从我的控制器而不是从我的 asp.net mvc Web 应用程序中的视图调用 JSON API

    我需要从我的 asp net mvc Web 应用程序调用 BPM 引擎的 JSON API 对 BPM 的 API 调用构造如下 http localhost 8080 jw web json workflow process list
  • 如何防止XDocument添加XML版本和编码信息

    尽管在以下代码中使用了 SaveOptions DisableFormatting 选项 XDocument xmlDoc XDocument Load FileManager SourceFile string element campa
  • 将 Keras 模型的输出重新缩放回原始比例

    我是神经网络的新手 只是免责声明 我有一个基于 8 个特征预测混凝土强度的回归问题 我首先做的是使用最小 最大标准化重新调整数据 Normalize data between 0 and 1 from sklearn preprocessi
  • 逻辑地址和物理地址之间的区别?

    我正在阅读 操作系统概念 现在正在读第 8 章 不过 我可以做一些澄清 或者保证我的理解是正确的 逻辑地址 根据书中所述 逻辑地址是由CPU生成的 这到底是什么意思 在执行生成的地址系统中 我假设当为程序编译代码时 该程序具有no知道代码将
  • 在C#中有效调整图像的对比度

    在 C 中是否有一种有效的方法来调整图像的对比度 我见过本文 http www gutgames com post Adjusting Contrast of an Image in C aspx它提倡进行逐像素操作 不快 我已经在一些地方
  • 通过 Wcf 序列化 Linq2Sql - 错误或误解?

    使用 Linq2Sql 作为 Wcf 服务的驱动程序 让我们从下往上 在底部 我们有调用 Linq2Sql 的方法 public virtual void UpdateCmsDealer CmsDealer currentCmsDealer
  • 正则表达式可选组

    我正在使用这个正则表达式 a z a z d a z a z d d 13 匹配这样的字符串 SH 6208069141055 BC000388 20110412101855 分为 4 组 SH 6208069141055 BC000388
  • 如何查看 gstreamer 调试输出?

    如何查看 GST CAT INFO GST DEBUG 等函数的输出 我是否需要自己使用调试级别设置来编译 gstreamer 还是可以在应用程序级别完成 可以使用 GST DEBUG 环境变量在 stderr 中打印调试消息 如果 gst
  • .NET:打开嵌入资源文件中的文件

    如何打开嵌入资源文件中的文件 例如硬盘上的文件 具有绝对路径 假设您有test xml文件嵌入到程序集中 你可以使用获取清单资源流 http msdn microsoft com en us library system reflectio
  • 如何在 OpenAPI (Swagger) 中定义枚举?

    有谁知道如何定义可能enumOpenAPI 2 0 定义中的值以便它们显示在 Swagger UI 的 模型 选项卡中 示例在这里 https petstore swagger io pet addPet有一个枚举选项status财产 如何
  • 阻止应用程序[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我需要制作一个应用程序来阻止手机上的
  • 我可以用 Python 编写屏幕截图吗

    是否有任何库可用于在 Python 中编写屏幕截图 可以做成跨平台的吗 可以捕捉到视频吗 如果可以实时进行吗 或者说可以直接 生成Flash电影 屏幕捕获可以通过以下方式完成PIL 得益于 ImageGrab 模块 http www pyt
  • Firebase 函数 - https onRequest“HTTP 错误:400,请求有错误”

    我的 firebase 功能遇到一些重大问题 我正在尝试创建一个https请求以便我可以将数据发送到 Firebase 我有一个超级简单的代码只是为了测试 它会导致错误 这是我的代码 这段代码应该没有问题 exports fetchPost
  • Symfony 表单,错误冒泡

    我遇到了表单错误冒泡的问题 我的表单中的一个字段定义如下 formBuilder gt add title text required gt true error bubbling gt false 我想向该字段添加一个这样的验证器 Ass
  • 如何在 Windows 10 预览版中安装应用程序请求路由 ARR 3.0?

    当我尝试安装应用程序请求路由时 出现错误 安装 Microsoft 应用程序请求路由 3 0 需要 IIS 版本 7 0 或更高版本 Windows 10有IIS 10 0 所以应该是可以的 但我猜微软还没有修复版本检查 有没有可用的解决方
  • 使用 Python BeautifulSoup 单击链接

    所以我是 Python 新手 我来自 PHP JavaScript 背景 但我只是想编写一个快速脚本来抓取网站和所有子页面以查找所有内容a标签有href属性 数一下有多少个 然后单击链接 我可以计算所有链接 但我不知道如何 单击 链接然后返