专栏名称: 爱数据LoveData
中国统计网(www.itongji.cn),国内最大的数据分析门户网站。提供数据分析行业资讯,统计百科知识、数据分析、商业智能(BI)、数据挖掘技术,Excel、SPSS、SAS、R等数据分析软件等在线学习平台。
目录
相关文章推荐
51好读  ›  专栏  ›  爱数据LoveData

新浪微博数据爬取Part 3:小爬虫的诞生

爱数据LoveData  · 公众号  · BI  · 2017-05-15 17:00

正文

请到「今天看啥」查看全文



主要方法


对于整个爬虫项目,外部函数调用内部方法的时候只需要关注以下几个即可:


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;








请到「今天看啥」查看全文