有些网站没有登录无法访问页面,登录后就可以访问。如人人网
所有程序要模拟登录状态,方法有手动方法和使用帐号密码自动登录方式。本篇使用手动复cookie请求要访问的网页,并把请求到网页保存到本地
1 """使用手动方式从浏览器中复制cookie请求网页""" 2 3 4 from urllib import request 5 #使用手动方式从浏览器中复制cookie再入代码中再用cookied去请求大鹏的主页 6 dapeng_url = "http://www.renren.com/880151247/profile" 7 headers = { 8 "User-Agent": "Mozilla/5.0", 9 # 添加cookie前要用帐号密码登录以上网页,并且记得更新cookie 10 # 没有添加cookie则无法访问网页 11 "Cookie": "anonymid=kb5t9d8i36ljzn; depovince=JX; _r01_=1; JSESSIONID=abc6w4OHepqV66OVCHrkx; taihe_bi_sdk_uid=fd776a940dbc3887651dbfe504b461d3; taihe_bi_sdk_session=fb2fb194461f4e1098f7128f97bab2aa; jebecookies=e12a10ea-943c-4723-9f1b-f034339f121c|||||; ick_login=aca5b943-1227-4a36-bbc6-6e30cb4fa6ef; _de=8DE979D283365D44303554EBBEB4676C696BF75400CE19CC; p=a4051c2c8d5252b0128c6b08dfa3f7212; ap=974477822; first_login_flag=1; ln_uact=332681334@qq.com; ln_hurl=http://head.xiaonei.com/photos/0/0/men_main.gif; t=51358e52717859290a07f3fc825123382; societyguester=51358e52717859290a07f3fc825123382; id=974477822; xnsid=6e6d3a52; loginfrom=syshome; wp_fold=0" 12 } 13 14 req = request.Request(url=dapeng_url, headers=headers) 15 resp = request.urlopen(req) 16 17 #print(resp.read().decode(‘utf-8‘)) 18 # 把得到数据保存到本renren.html 19 with open(‘renren.html‘, ‘w‘, encoding=‘utf-8‘) as fp: 20 # write写时是string类型 21 # resp.read()读出来的是一个bytes数据类型 22 # bytes->decode->str 23 fp.write(resp.read().decode(‘utf-8‘))