我们在爬取网上一些数据时,必须登陆才能爬取到数据,这是我们就需要Cookie了,Cookie简单说就是服务器返回给我们的一些数据,保存到客户端,下次登陆时,服务器会识别这些数据,可以返回我们上次的数据:
我爬取的是人人网
- 当没有设置Cookie时,不论我们爬取那个网页的数据,都只能爬取到登陆页面,这里我就不演示了,在请求的头里不要设置Cookie就行了
- 代码
from urllib import request
dapeng_url = 'http://www.renren.com/880151247/profile'
headers = {'User-Agent':' Mozilla/5.0 (Windows NT 10.0; Win64; x64)'' AppleWebKit/537.36 (KHTML, like Gecko) ''Chrome/73.0.3683.86 Safari/537.36','Cookie':'anonymid=jts9ysu5-tuyp2f; depovince=GW; _r01_=1; ''JSESSIONID=abc3iYNu61jbQ6s6oddNw; ick_login=b6b0b9b''8-c14d-472e-9ad3-4221df783996; ick=aebabe76-c548-4d''53-ab1b-c856846d8ec7; jebecookies=ed6dc536-d393-4c53''-bd9a-2596a808ae6c|||||; _de=B1BBBAB916360F72F4627FFE''19B3821C; p=92189c5bd1b14cdfb0cb26d422c3474d6; first_''login_flag=1; ln_uact=15955034252; ln_hurl=http://head.xiaonei.com/photos/0/0/men_main.gif; ''t=57b623a00434e5710fe7c2856c2338096; societyguester=57b623a00434e5710fe7c2856c2338096; ''id=970227406; xnsid=3cf0bd31; ver=7.0; loginfrom=null;'' jebe_key=c6ac91f6-47b4-45d3-a1ab-bc163cb9c20a%7C95fdfd6f154b6ddbfbe4a74cb1''12a907%7C1553755754281%7C1%7C1553755754060; wp_fold=0'
}resp = request.Request(dapeng_url,headers=headers);
respon = request.urlopen(resp)
with open('renren.html','w',encoding='utf-8') as fp:fp.write(respon.read().decode('utf-8'))
- 结果,在文件目录就会出现下面的文件
右击,在浏览器中打开
爬取的结果