鱼C论坛

 找回密码
 立即注册
查看: 1835|回复: 8

[已解决]这是怎么情况勒?

[复制链接]
发表于 2020-11-1 09:27:41 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
urllib.error.HTTPError: HTTP Error 403: Forbidden
如题
最佳答案
2020-11-1 09:43:43
本帖最后由 小甲鱼的铁粉 于 2020-11-1 09:45 编辑

使用 UserAgent,以妹子图为例吧
import urllib.request
def url_open(url):
    req = urllib.request.Request(url)
    req.add_header('User-Agent','https://www.mzitu.com/static/pc/style.css?0424')
    req.add_header('Referer','https://www.mzitu.com/hot/')
    response = urllib.request.urlopen(req)
    html = response.read()
    return html
url = 'https://www.mzitu.com/hot/'
url_open(url)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-11-1 09:30:23 | 显示全部楼层
发下代码呗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-11-1 09:37:51 | 显示全部楼层

就是爬取一个网页的图片,代码通不过审核好像
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-11-1 09:38:06 | 显示全部楼层
这种错误,服务器端只会收到该页面访问的请求,可能被认为是爬虫,
有些网站为了防止这种非正常的访问,
会验证请求信息中的 UserAgent
如果 UserAgent 存在异常或者是不存在,那么这次请求将会被拒绝
所以可以尝试在请求中加入 UserAgent 的信息
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2020-11-1 09:43:43 | 显示全部楼层    本楼为最佳答案   
本帖最后由 小甲鱼的铁粉 于 2020-11-1 09:45 编辑

使用 UserAgent,以妹子图为例吧
import urllib.request
def url_open(url):
    req = urllib.request.Request(url)
    req.add_header('User-Agent','https://www.mzitu.com/static/pc/style.css?0424')
    req.add_header('Referer','https://www.mzitu.com/hot/')
    response = urllib.request.urlopen(req)
    html = response.read()
    return html
url = 'https://www.mzitu.com/hot/'
url_open(url)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-11-1 12:13:45 | 显示全部楼层
小甲鱼的铁粉 发表于 2020-11-1 09:43
使用 UserAgent,以妹子图为例吧

为啥你这个我run之后什么都出不来呢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-11-1 12:27:03 | 显示全部楼层
linkais 发表于 2020-11-1 12:13
为啥你这个我run之后什么都出不来呢

行了行了,这个好像要在shell中调用一下方法才行
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-11-1 15:12:03 | 显示全部楼层
linkais 发表于 2020-11-1 12:13
为啥你这个我run之后什么都出不来呢

当然什么都没有了,因为我写的这个没输出
你再加一个print(html)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-11-1 22:11:57 | 显示全部楼层
小甲鱼的铁粉 发表于 2020-11-1 15:12
当然什么都没有了,因为我写的这个没输出
你再加一个print(html)

def find_imgs(url):
    html = url_open(url).decode('GBK')
    img_addrs = []
    a = r'http://d-pic-image.yesky.com/185x247/uploadImages/2018/(\d){3}/(\d){2}/(.)+_H.JPG'
    pagelist2 = re.findall(a,html)
   
    print(pagelist2)


find_imgs('http://pic.yesky.com/c/6_20491_1.shtml')
大哥为啥我这个函数输出的是这么个玩意
[('3', '7', '8'), ('5', '0', 'X'), ('4', '3', 'J'), ('9', '6', 'W'), ('4', '8', 'A'), ('8', '8', 'X'), ('5', '9', '8'), ('8', '5', 'U'), ('7', '3', 'B'), ('5', '2', '0'), ('4', '0', '8'), ('0', '2', '8'), ('9', '1', '7'), ('5', '3', 'F'), ('7', '4', '8'), ('7', '8', 'S'), ('7', '6', '2'), ('7', '2', 'G'), ('7', '0', '6'), ('7', '8', 'U'), ('0', '0', '6'), ('8', '3', 'E'), ('7', '1', 'I'), ('7', '5', 'N'), ('6', '5', '4'), ('4', '9', '2'), ('1', '7', 'Q'), ('7', '4', '0'), ('3', '9', 'D')]
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-10 21:30

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表