正文
主要方法
对于整个爬虫项目,外部函数调用内部方法的时候只需要关注以下几个即可:
login(self, username, password):根据用户名和密码登录sina微博;
switchUserAccount(self, userlist):用于切换用户账号,防止长时间单账号爬取,其中调用了login方法;
getUserInfos(self, uid):根据用户ID获取用户个人信息;
getUserFollows(self, uid, params):根据用户ID 获取用户关注的用户ID列表;
getUserFans(self, uid, params):根据用户ID 获取粉丝ID列表;
getUserTweets(self, uid, tweets_all, params):根据用户ID 获取微博,tweets_all是一个list变量。
如果还需要爬取微博其它的数据,可在SinaClient类中补充即可。
辅助方法
对于该爬虫,我们想要的就是让她正常工作,所以为了防止访问次数超限,可在爬取过程中调用switchUserAgent来切换用户代理,或是在使用cookie的时候,将enableCookie中的 enableProxy参数置为True。在SinaClient类中,其它的辅助方法说明如下:
initParams(self):初始化参数;
setAccount(self, username, password):设置username与password;
setPostData(self):设置请求登录时的post_data内容;
switchUserAgent(self, enableAgent=True):切换用户代理User-Agent;
enableCookie(self, enableProxy=False):允许存储cookie;
openURL(self, url, data=None):打开url时携带headers,此header需携带cookies;