最近在学习使用python爬取网页信息,之前也写了几篇网站爬取以及图文混排爬取到word中的例子,有兴趣的可以在本站搜索python。之前大部分是不需要登录就可以访问的资源,所以使用python爬取的时候不需要登录。但是有些网站的信息(比如论坛)必须要登录用户才能访问,使用常规的python方法就无法获取到了。对于这种需要登录才能获取内容的网站,目前接触到两种方法,第一种是使用 Selenium库来调用浏览器 (chrome或firefox浏览器),模拟真实的用户操作浏览器来获取数据;另一种方法就是使用 模拟登录来获取并保存cookies,并且能实现获取目标url时携带cookies进行身份验证。本文仅介绍第二种方法,部分代码来自网络基于2.x版本修改,如果你使用的时python2.x版本可以尝试修改下再使用。
源码一、python3.7+cookiejar+urllib模拟登录人人获取cookies
#encoding=utf-8
#import urllib2 #ModuleNotFoundError: No module named 'urllib2'
import urllib.request
import urllib
#import cookielib #ModuleNotFoundError: No module named 'cookielib'
import http.cookiejar
def renrenBrower(url,user,password):
#登陆页面,可以通过抓包工具分析获得,如fiddler,wireshark
#login_page用户名及密码post提交的目标url,也可以用网页打开登录地址F12查看form表单的action地址