《关于我原原本本按视频写的代码却运行不了的这件事》

问题遇到的现象和发生背景 :在B站尚硅谷爬虫代理课上学到了代理基本应用,代码是按照视频上写的,
                                                      但是老师用的是http而我的电脑浏览器只有https
问题相关代码,请勿粘贴截图 :

url = 'https://www.baidu.com/s?wd=ip%27

import urllib.request

headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.64 Safari/537.36 Edg/101.0.1210.53'}

#request = urllib.request.Request(url = url,headers = headers)

#请求对象定制
request = urllib.request.Request(url = url,headers=headers)

#模拟浏览器访问服务器
response= urllib.request.urlopen(request)

proxies ={'http':'118.24.219.151:16817'}

#handler build_opener open
handler = urllib.request.ProxyHandler(proxies = proxies)

opener = urllib.request.build_opener(handler)

response = opener.open(request)

#获取响应信息
content = response.read().decode('utf-8')

保存

with open('daili.html','w',encoding='utf-8')as fp:
fp.write(content)

运行结果及报错内容 :打开的网页需要百度安全验证,就是个空白也页
我的解答思路和尝试过的方法 :试图把https改成http但是报错了(看不懂报错写的啥QAQ,我不是计算机专业的)
我想要达到的结果:打开的网页显示的是代理地址

应该是118.24.219.151:16817地址已经变更了, 你这个代码已经过期

1、你爬取页面信息,保存到自己创建的html文件里,结果html文件里显示安全验证,而不是网页数据,说明你是被反爬了。
2、反爬措施有很多,我通过你提供的这点信息,测试得到结果,是:headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.64 Safari/537.36 Edg/101.0.1210.53'}出了问题。
3、你看视频教学也好,自己练习也好,应该注意到,F12抓到数据包后,请求头里不只User-Agent一个参数,那你多加几个不久行了?

img

如图是我添加的参数,连续尝试了六次,均可正常获取到数据