工作中需要爬一台内网中服务器的网页,自动获取返回的图片信息。
但是执行代码没有获得希望的信息。
尝试在浏览器中输入网址,结果跳以下界面
原来是要验证才能连接成功。
点击‘取消’,观察网络信息
果然是这样。请求头中没有包含Authorization,所以验证没通过。
然后再尝试一下,输入用户名和口令,网页可以正常显示。
观察网络信息,此时请求头中出现了Authorization。
网上查了一下,一堆攻略,基本都是一个意思。
追加代码如下:
def get_authorization():
return base64.b64encode(user_name + ":" + user_passwd);
headers = {
'Authorization': 'Basic {}'.format(get_authorization()),
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML,