原文地址:http://blog.csdn.net/winterto1990/article/details/51213029
我们平时使用requests获取网络内容很简单,几行代码搞定了,例如:
你没有看错,真的只有三行代码。但是简单归简单,问题还是不少的。
首先,这里的请求只是get方法,并且没有解决cookies的问题。
然后就是这里并没有解决乱码的问题。(乱码是Python中的变态点)
其实,在requests的get方法中添加cookies的方法不难 可以这样子:
我们所面临的问题是,如何构造这里的cookies。
这里的cookies是一个字典格式的数据。
平时我们浏览网页的时候,在审查元素中可以查看到所访问网页的cookies内容,大都是这样子的:
天那,这是人看的吗?不是。这是经过加密处理后的数据。同样,我们可以将加密后的数据传递到get方法的cookies参数中,服务器会自动将加密后的数据进行解密,再检查数据的正确性。至于,如何查看所访问网页的cookies内容,可以使用浏览器的审查功能,F12或者右击审查(Chrome)打开。在network中查看链接的Headers内容。另外,也可以使用软件抓包查看,如Fiddler web Debugger。
这里假设获取到了cookies的内容,我们可以保存到本地TXT文件中(直接把cookies的内容粘贴进去即可),例如test.txt文件。
然后,
这时候我们将cookies添加到get方法中:
这时候获取到的res.content中就是我们将cookies信息添加到get中后访问网页所获取的内容。
使用requests进行网页请求的时候经常会出现中文乱码的问题,可以查看博客内容解决。
有关requests的使用代理问题的解决可以查看博客内容。
另一篇关于cookies的文章网址:http://docs.python-requests.org/zh_CN/latest/user/advanced.html#advanced