1.不使用cookie登陆人人网。
Cookie 是指网站服务器为了辨别用户身份和进行Session跟踪,而储存在用户浏览器上的文本文件,Cookie可以保持登录信息到用户下次与服务器的会话。
这里以人人网为例。人人网中,要访问某个人的主页,必须先登录才能访问,登录说白了就是要有cookie信息。那么如果我们想要用代码的方式访问,就必须要有正确的cookie信息才能访问。解决方案有两种,第一种是使用浏览器访问,然后将cookie信息复制下来,放到headers中。示例代码如下:
1.导入模块
from urllib import request
2.获取请求url
url = "ttp://www.renren.com/880151247/profile"
3.构造请求头,构造请求头包含:User-Agent(打开浏览器-F12-检查-选择Network-AII-选择RequestHeaders.)
headers = {"Headers":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36"}
4.请求的时候增加一些请求头,使用request.Request类来实现
req = retuest.Retuest(url = url,headers = headers)
5.打开请求头
resp = request.urlopen(req)
6.使用read打开,并且打印出来
print(resp.reda())
也可以保存成html格式并打开,需要注意的是,with写入类型必须是str类型,resp.read读出来的数据是一个bytes数据类型,必须编码。
with open("文件名.格式","写入方式w",encoding= "utf-8") as fp:
fp.with(resp.read(),decode("utf-8"))