问题标签 [python-webbrowser]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
9074 浏览

python - 如何使用python从网络浏览器获取内容?

我有一个网页: http: //kff.org/womens-health-policy/state-indicator/ultrasound-requirements/# ,我需要从这个网页中提取表格。

遇到的问题:我一直在使用 BeautifulSoup 并请求获取 url 内容。这些方法的问题在于,即使在生成表格之前,我也能够获取 Web 内容。

所以我得到空表<table> <thead></thead> <tbody></tbody></table>

我的方法:现在我尝试使用 webbrowser.open_new_tab(url) 在浏览器中打开 url,然后直接从浏览器中获取内容。这将使服务器更新表格,然后我将能够从页面获取内容。

问题:我不确定如何直接从 Web 浏览器获取信息。

现在我在 Windows 系统上使用 Mozilla。

找到最近的链接网站链接。但它给出了哪些网站被打开而不是内容

有没有其他方法可以让表格加载到 urllib2 或 beautifulsoup 和 requests 中?或者有什么方法可以直接从网页获取加载的内容。

谢谢

0 投票
1 回答
95 浏览

python - 为什么在本地和远程运行时 webbrowser lib 的行为不同?

我正在编写一个 Flask(python 2.7)应用程序,其中一个函数使用 webbrowser lib 在用户浏览器中打开几个新选项卡(类似于 Kayak)。

当我在本地运行该应用程序时,它可以正常工作。但是当我部署到 OpenShift 时,该应用程序不会启动选项卡或指示任何错误。webbrowser 在我的本地机器上与 PaaS 上的运行方式不同有什么原因吗?我已经在 OSX 上的 Chrome / Safari / Firefox 和 Android 上的 Chrome 中尝试过这个。感谢你的帮助!

这是功能:

这是tail的输出:

0 投票
3 回答
1080 浏览

python - 轻量级 Python Web 浏览器

这里有一些奇怪的要求,但我无法真正找到答案。

我正在编写一个显示网页和本地存储图像的 python 应用程序。

我需要的是一种使用 python 显示网页的方法,它非常轻量级且速度非常快。原因是它在 Raspberry Pi 上运行。

当然我有很多选择,我可以通过安装在 Raspbian 发行版上的 Web 浏览器运行它并在 python 中作为一个单独的进程运行它,我可以下载一个 Arch-Linux 兼容的浏览器并在 python 中作为一个单独的进程运行它最后我可以使用 Gtk 或 PyQt 编写我自己的原生 python 文件。

所有这些方法都有其缺点以及严重的开销。当我要显示网页时,网络浏览器也必须全屏显示,并在显示图像时最小化。

我对 Gtk 和 PyQt 的主要问题是它们必须在主线程上执行的方式——这是不可能的,因为它不符合我的多线程架构。使用预装在 raspbian 上的网络浏览器的缺点是,从 python 中你缺乏控制并且速度很慢。最后,使用 Arch-Linux 浏览器的问题在于它最终变得混乱且难以控制。

理想情况下,我需要的是一个几乎可以瞬间加载网页的网络浏览器,或者一个可以处理多个实例的多线程网络浏览器。这样,我可以在显示另一个浏览器的同时在后台缓冲一个网页。

你们有什么建议可以为我指明正确的方向吗?我原以为现在会有一个简洁的基于多线程 python 的解决方案,我认为这要么是因为没有人需要做我正在做的事情(不太可能) - 要么我错过了一些大事(更有可能)!

任何意见,将不胜感激。

詹姆士。

0 投票
2 回答
6434 浏览

python - python中facebook的网络爬虫

我正在尝试在 python 中使用 web-Crawler 来打印 facebook 推荐者的数量。例如,在天空新闻(http://news.sky.com/story/1330046/are-putins-little-green-men-back-in-ukraine)的这篇文章中,大约有 60 个 facebook 推荐。我想用 web-crawler 在 python 程序中打印这个数字。我试图这样做,但它不打印任何东西:

0 投票
1 回答
1125 浏览

python - 如何使用 python webbrowser 设置浏览器可执行文件的路径

我正在尝试构建一个实用函数来将漂亮的汤代码输出到浏览器我有以下代码:

这很好用,可以在默认浏览器中打开 HTML。但是,我想将路径设置为可移植的 firefox 可执行文件,该可执行文件位于:

我用的是win7。如何设置可移植 firefox 可执行文件的路径?

0 投票
2 回答
4748 浏览

python - 如何为 python webbrowser 设置 BROWSER 环境变量

我正在尝试注册 Firefox 浏览器以在 Windows 上运行。根据 Webbrowser 的文档,“如果环境变量 BROWSER 存在,它被解释为覆盖浏览器的平台默认列表,作为 os.pathsep 分隔的浏览器列表按顺序尝试”。我有以下内容:

这仍然会打开 iexplorer(默认浏览器)。

还:

我如何在这里使用 Firefox?

资源:

0 投票
1 回答
674 浏览

python - 在没有标准错误和无头模式的情况下调用 pythons webbrowser

为了防止这成为一个 XY 问题,我会告诉你问题,以及我不知道该怎么做的建议解决方案。

我正在尝试在脚本中调用 webbrowser 模块。

这真是太棒了。但是,我希望能够压缩它给我的输入。在我当前的机器(ubuntu)上,我的浏览器(firefox)通过 stderr 吐出一堆废话。我希望能够调用 webbrowser 并消除显示的文本。

我试过的:

1使用 popen 以便我可以将进程传输到任何内容。

为什么这不起作用

这实际上在非无头模式下效果很好!当我在 ssh 终端(无头模式)中使用它时,子进程方面不允许我看到无头终端浏览器,这是 webbrowser 的一个非常酷的功能。

2重定向标准错误

我不能只在python中重定向stderr,因为python脚本通常在网络浏览器完成打印之前结束,所以在脚本结束后,webbrowser的进程会继续在终端中打印。

我也尝试过:抑制模块调用外部库的输出没有运气

我不能在调用 python webbrowser 时使用以下建议:suppress/redirect stderr,因为我想webbrowser选择默认浏览器。

可能的解决方案(只有其中一种就足够了):

有没有办法知道我是否处于无头模式?如果我知道我处于 ssh/headless 模式,我可以将一种方法用于无头模式,另一种用于非无头模式。

有没有办法做 webbrowser.get('default').open() 以便 webbrowser 不给我垃圾?

有没有办法在不使用子进程的情况下“管道”浏览器的输出?

还有什么能解决问题的...

0 投票
1 回答
889 浏览

python - 在现有浏览器中打开网址而不是在默认浏览器中

我用下面的代码打开新的网址

这在默认浏览器中打开了 url,但我需要在已经打开的浏览器会话中打开它。

另外,有没有办法在浏览器的特定选项卡中打开 URL?

0 投票
1 回答
1174 浏览

python - Pythons webbrowser.open_new_tab(url) 与代理

我的机器上有一个代理设置(Win -7)。我编写了一个 python 程序,它尝试webbrowser在 python 中的模块的帮助下打开具有给定 URL 的浏览器的新选项卡。

但是webbrowser.open_new_tab(URL)当我在 Internet Explorer 设置(在 LAN 设置下)中选中“为 LAN 使用代理服务器”复选框时失败,但是当我取消选中此框时它工作得很好。

我不明白为什么会这样。该模块有什么方法webbroser可以与代理一起工作吗?我在这里做错什么了吗?

0 投票
1 回答
82 浏览

python - 尝试使用 webbrowser.open 打开一些页面

这是我的代码:

所以我要做的是打开网页[Censured]index=1。然后, [Censured]index=2, Censured]index=3 等...但我不明白如何更改此代码中的变量 k 。

它会打开 URL [Censured]index=k,如果我将第 4 行更改webbrowser.open("[Censured]index=",k)为相同的问题。

我怎样才能解决这个问题?