python - 在 Python 中从 Chrome 获取所有打开的网站

标签 python python-3.x google-chrome selenium url

我使用的是 Windows 8.1,Python 3.6。

是否可以在最新版本的 Chrome 中获取所有当前打开的网站并将网站保存到 D:/ 中的文本文件中.

我尝试打开文件:

C:\Users\username\AppData\Local\Google\Chrome\User Data\Default\Current Tabs

但是我收到一条错误消息,说该文件是在另一个程序中打开的。
还有一个名为 History 的文件包含已打开的 URL 但也包含类似 NULL 的字符.

我尝试在 python 中读取文件,但我收到了 UndicodeDecodeError (不确定这个词)。
然后我尝试通过以下代码打开文件:
with open('C:/Users/username/AppData/Local/Google/Chrome/User Data/Default/History',"r+",encoding='latin') as file:
    data = file.read()
    print(data)

它奏效了。但是我在文本文件中得到了 1 或 2 个 URL,没有 URL。

也许还有另一种方式,比如导入模块。
就像是:
import chrome
url = chrome.get_url()
print(url)

也许 selenium也可以这样做。但我不知道怎么做。
也许还有另一种方法可以在 python 中读取包含所有链接的文件。

想要我想要的是它检测打开的网站,如果 mywebsite.com 打开超过10分钟,会自动屏蔽。系统有自己的文件:
C:\Windows\System32\drivers\etc\hosts

它将在最后添加以下内容:
127.0.0.1 www.mywebsite.com

该网站将不再可用。

最佳答案

您可以使用此方法来存储选项卡数据并对其进行操作:

windows = driver.window_handles
您可以使用上述方法存储窗口。
current_window = driver.current_window_handle
此方法将为您提供正在处理的当前窗口。您可以浏览列表“windows”并检查它是否是 current_window 以在选项卡之间导航。
driver.switch_to.window(windows[5])
此方法将切换到所需的选项卡,但我假设您已经拥有它。
现在你如何存储标签打开后花费的时间?
有两种方法可以做到:
  • 在内部,通过引用 Pandas 数据框或列表
  • 读取和写入文件。

  • 首先,您需要在脚本中导入“时间”库
    current_time=time.time()
    
    current_time 是当前时间的 int 表示。这是一个Linux时间戳。
    在上述任一场景中,您都需要这样的结构:
    data=[]
    for i in range(0,len(windows)):
        data.append([  windows[i] , time.time() ])
    
    这将给出如下结构:
        [[window[0],1234564879],
        [window[1],1234567896],...]
    
    这是你错过的事情:
    for i in range(0,len(data)):
       if time.time()-data[i][1] > 600  # If new timestamp minus the old one is bigger than 600 seconds
           driver.switch_to(data[i][0])
           driver.close()
    
    我个人的建议是,您从稳定的 API 服务开始,以获取您想要的任何数据,而不是 selenium。我会推荐 SerpApi 因为我在那里工作。它有多种抓取工具,包括谷歌搜索结果抓取工具,并且为新帐户提供 5000 个免费电话。

    关于python - 在 Python 中从 Chrome 获取所有打开的网站,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44793139/

    相关文章:

    Python 以一种棘手的方式连接列表元素

    javascript - 代码在 Firefox 中不起作用,而在 chrome 中运行良好

    javascript - SharedArrayBuffer 中的数组始终用零填充

    html - 使用全屏时,css border-bottom 属性在 Chrome 中不起作用

    python - PyCharm 项目文件消失了

    python - 安装U-SQL扩展以进行本地编译

    python - Numpy 和 Scipy 与 Amazon Elastic MapReduce

    python - 将 xarray.plot.line 与颜色图结合使用

    python - CPython 中的字符串 'in' 运算符

    python-3.x - 从Windows Task Scheduler在虚拟环境中运行python脚本