python检测网页http状态码( 附完整代码)
在那篇 SEO工作者必须知道的9个网页HTTP状态码 中,对常见的http状态码作了介绍,然而并没有说明如何获取到这些状态码的? 除了使用google chrome F12获取当前网页http状态码和Firefox浏览使用Firebug获取http状态码之外,还有没有别的方法呢?答案是肯定的,接下来将用python3的requests库来轻松获取网页的http响应码。
自开始做SEO工作的那一天起,在初期时候,尽管不少的所谓SEO大牛、以及各种SEO培训班都发出一种言论——SEO不需要懂技术,怀着对这种理论深深的怀疑,一些需求向程序员提交,往往程序员理解不了、各种推辞、各种排期、遭受白眼的情形还历历在目。求人不如求己,自己能做就自己做,做不到的通过学习、也要努力做到。
怀着对技术的渴求,一直在工作之余学习编程语言,从linux shell、C 语言、java再到python一路走来。最终把注意力放到了python上,虽然不如c和java的运行速度,但是其简洁的语法,远胜其他语言。人生苦短,请用python,渴望掌握一门编程语言的SEO或运营同志们,python,你值得拥有。用ptyhon进行分词、信息采集、搜索引擎提交……,各种便利,包你拿起就舍不得放下。
我不是python的传教士,推荐它的用意,也是为了帮助亲们更好、更有效的完成工作,当然,编程的种种乐趣,你得自己去琢磨,我不会告诉你 ^-^。
言归正传,用requests库来获取网页的各种状态码吧。
新建一个文件: getHttpStatusCode.py 内容如下:
#!/usr/bin/python3 # -*- coding: utf-8 -*- """ url: https://www.yangshengliang.com/seo-ji-shu/seo-jiaocheng/722.html author: fedkey """ import requests import sys def getHttpStatusCode(url): userAgent = {"user-agent": "Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Firefox/45.0"} # 添加一个user-agent,访问反爬虫策略严格的网站很有用 timeOut = 4 # 请求超时时间设置为4秒 try: request = requests.get(url, headers = userAgent, timeout = timeOut) httpStatusCode = request.status_code return httpStatusCode except requests.exceptions.HTTPError as e: return e if __name__ == "__main__": url = sys.argv[1] # 执行程序接受url作参数 status = getHttpStatusCode(url) print (status)
使用方法:切换到程序文件所在目录,执行:
python getHttpStatusCode.py "https://www.yangshengliang.com/"
输出的结果是: 200 没有问题
将https://www.yangshengliang.com/ 改成 https://www.yangshengliang.com/90 (不存在的url)
再次执行:
python getHttpStatusCode.py "https://www.yangshengliang.com/90"
得到的将是:404
完整程序,下载之后去掉.txt后缀:
- Java8 实现下载网页的完整代码
- 宇秀搜索引擎下拉及相关搜索推荐营销系统增加随机标签【功能添加】
- 发篇博文,证明还活着
- php自己动手实现max,找出数组中最大的值
- Linux (gvim:6883): Gtk-WARNING **: Invalid input string错误解决
- chrome和安卓手机浏览器不显示input radio样式的解决办法
- 宇秀-搜索引擎下拉推荐营销系统6.487464增加任务数定制标签
- 宇秀下拉 2021-4-12下拉更新案例
- debian 系统老旧版本iso下载(各个版本都有)
- windows 10应用商店无法打开 错误代码: 0x80072F7D CV: GS7YDyJYIUmOC2MR 解决办法