有些網站沒有登錄無法訪問頁面,登錄后就可以訪問。如人人網
所有程序要模擬登錄狀態,方法有手動方法和使用帳號密碼自動登錄方式。本篇使用手動復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'))