python爬取网页报错提示状态码404,可是在浏览器里可以打开网页

qq_23045213 qq_23045213 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
import urllib.request

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.获得相应的请求头

weixin_38609913

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获取电脑硬件信息及状态的

weixin_38648968

Python爬虫库requests获取响应内容、响应状态码、响应头

上一节我们给大家介绍了Python爬虫库requests的发送请求传参等使用方法,今天为大家介绍下requests获取响应内容、响应状态码、响应头等相关信息

weixin_38512659

python3判断url链接是否为404的方法

主要介绍了python3判断url链接是否为404的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

weixin_38590541

Python爬取B站404漫画[项目源码]

本文详细介绍了如何使用Python编写网络爬虫程序,抓取B站404页面上的随机小漫画。作者首先分析了网页结构,发现图片是通过Ajax请求动态加载的,因此决定模拟Ajax请求获取图片数据。文章详细讲解了爬虫的实现过程,包括准备工作、抓取工作、分析工作和保存图片等步骤。作者使用了httpx库支持Http/2.0协议,并比较了多线程、多进程和异步爬虫的效率,最终异步爬虫以7.9秒的成绩胜出。文章最后提供了多线程和异步版本的完整代码清单,供读者参考和学习。

night
评论 16
收藏 已收藏
分享
返回顶部
qq_23045213
脚本语言 37,737 成员 34,208 内容