Scrapy第五篇:断点续爬 | 存入MySQL
不得不说scrapy真的是一个强大的框架,配上轻灵简洁的mongodb,只需极少代码便可应付一个简单爬虫。但如果几十万几百万的数据量,需要考虑的因素就很多了,速度、存储、代理Ip应对反爬等等。
还有一个重要的,比如某一天你好不容易写完代码,心想“这下好了,接下来全部丢给机器我真机智哈哈”,于是睡觉/玩耍/撩妹 美滋滋,回来一看多多法务/IP被封/奇异bug,这时你的内心是这样的:
所以你需要——断点续爬。好吧貌似又胡扯了(其实是喜欢这个表情,强行用上哈哈)
本次目标:
爬取轮子哥54万关注用户信息,存入MySQL,实现断点续爬
一、爬虫思路
多多法务上的教程也非常多,一般是设法获取_xsrf参数然后模拟登陆,再进行抓取。
比如下面这一篇写得真的很不错:爬虫(3)--- 一起来爬知乎 ,作者是简书的 whenif
爬取关注用户其实更简单,可以 直接调用API
一般用开发者工具抓包,只能获得以下字段
本篇将获得以下字段:
大概30来项,调用URL:
*%5D.locations%2Cemployments%2Cgender%2Ceducations%2Cbusiness%2Cvoteup_count%2Cthanked_Count%2Cfollower_count%2Cfollowing_count%2Ccover_url%2Cfollowing_topic_count%2Cfollowing_question_count%2Cfollowing_favlists_count%2Cfollowing_columns_count%2Cavatar_hue%2Canswer_count%2Carticles_count%2Cpins_count%2Cquestion_count%2Ccommercial_question_count%2Cfavorite_count%2Cfavorited_count%2Clogs_count%2Cmarked_answers_count%2Cmarked_answers_text%2Cmessage_thread_token%2Caccount_status%2Cis_active%2Cis_force_renamed%2Cis_bind_sina%2Csina_weibo_url%2Csina_weibo_name%2Cshow_sina_weibo%2Cis_blocking%2Cis_blocked%2Cis_following%2Cis_followed%2Cmutual_followees_count%2Cvote_to_count%2Cvote_from_count%2Cthank_to_count%2Cthank_from_count%2Cthanked_count%2Cdescription%2Chosted_live_count%2Cparticipated_live_count%2Callow_message%2Cindustry_category%2Corg_name%2Corg_homepage%2Cbadge%5B%3F(type%3Dbest_answerer)%5D.topics&limit=20&offset='+str(i)