python爬取网页报错提示状态码404,可是在浏览器里可以打开网页
url = "http://t.cn/Rq0PezN"
try:
response = urllib.request.urlopen(url)
source = response.geturl()
print(source)
except Exception as e:
request = urllib.request.urlopen(urllib.request.Request(url, headers = {'User-Agent':'Mozilla/8.0 (compatible; MSIE 8.0; Windows 7)'}))
print (request.url)
代码如上 运行后报错:urllib.error.HTTPError: HTTP Error 404: Not Found。
代码是通过短连接获取原链接,可以用浏览器打开这个链接但是却提示状态码404的错误。不知道这个原理是啥,怎样可以解决这个问题呢?
相关推荐
Python爬虫实战之爬取网站全部图片(一)
Python爬虫实战之爬取网站全部图片(二) 传送门: https://blog.csdn.net/qq_33958297/article/details/89388556 爬取网址: http://www.meizitu.com/a/more_1.html 爬取地址:https://www.meizitu.com/a/list_1_1.html 一.获得图片地址 和 图片名称 1.进入网址之后 按F12 打开开发人员工具点击elemnts 3.显示控制台 为了验证xpath是否正确 可以看到 我们获得了11个链接地址 不要被源码中的文字所迷惑 7.获得相应的请求头
python获取网页状态码示例
代码很简单,只需要2行代码就可实现想要的功能,虽然很短,但确实使用,主要使用了requests库。 测试2XX, 3XX, 4XX, 5XX都能准确识别。 复制代码 代码如下:#coding=utf-8 import requests def getStatusCode(url): r = requests.get(url, allow_redirects = False) return r.status_codeprint getStatusCode(‘//www.jb51.net/’) 您可能感兴趣的文章:Python获取电脑硬件信息及状态的
Python爬虫库requests获取响应内容、响应状态码、响应头
上一节我们给大家介绍了Python爬虫库requests的发送请求传参等使用方法,今天为大家介绍下requests获取响应内容、响应状态码、响应头等相关信息
python3判断url链接是否为404的方法
主要介绍了python3判断url链接是否为404的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
Python爬取B站404漫画[项目源码]
本文详细介绍了如何使用Python编写网络爬虫程序,抓取B站404页面上的随机小漫画。作者首先分析了网页结构,发现图片是通过Ajax请求动态加载的,因此决定模拟Ajax请求获取图片数据。文章详细讲解了爬虫的实现过程,包括准备工作、抓取工作、分析工作和保存图片等步骤。作者使用了httpx库支持Http/2.0协议,并比较了多线程、多进程和异步爬虫的效率,最终异步爬虫以7.9秒的成绩胜出。文章最后提供了多线程和异步版本的完整代码清单,供读者参考和学习。


