首页 > 解决方案 > 如何使用 python 检查网站是否响应?

问题描述

我将python3与beautifulsoup结合使用。

我想检查一个网站是否响应。首先我想检查一个网站的元标签,看看里面是否有这样的东西:

content="width=device-width, initial-scale=1.0 使用这种方法的准确性不是很好,但我还没有找到更好的方法。

有人有想法吗?

基本上我想和谷歌在这里做的一样:https ://search.google.com/test/mobile-friendly如果网站是否响应,则减少到输出(是/否)

标签: pythonhtmlcssweb-crawler

解决方案


(只是一个建议)

我不是这方面的专家,但我的第一个想法是您需要渲染网站并查看它是否“响应”不同的屏幕尺寸。我通常会使用类似的东西phantomjs来做到这一点。

显然,您可以在 python 中使用selenium(更多信息在https://stackoverflow.com/a/15699761/3727050)。可以在此处找到可用于此任务的更全面的技术列表。请注意,这些资源似乎有点陈旧/过时,一些解决方案回退到 python subprocess calling phantomjs

链接的谷歌测试似乎

  • 在小型浏览器中加载页面并检查:
    • 可读的字体大小
    • 可点击元素之间的距离,以确保页面可用

但是,我会执行以下操作:

  • 以桌面模式加载页面,记录每个 div 的样式。
  • 逐渐缩小屏幕尺寸,看看这些改变风格的百分比
  • 在大多数情况下,从大屏幕到手机大小,您应该看到 1-3 种不同的布局,这些布局应该可以从改变样式的元素百分比中识别出来

以上不保证页面是“移动友好的”(即可以在移动设备中使用),但它显示 CSS 是否响应。


推荐阅读