自动采集编写 scrapy爬取新浪微博分享(2)

优采云 发布时间: 2020-08-18 23:34

  自动采集编写 scrapy爬取新浪微博分享(2)

  内容概要:

  最近自己学习了一些爬虫,学习之余,写了一个新浪微博的爬虫。*敏*感*词*爬数据没有试过,但是爬取几十万应当没有哪些问题。爬虫爬取的站点是新浪移动端站点。github地址为:

  第一次写文章,难免有疏漏,大家共同交流,共同进步。也请喜欢的同学,在github上打个star

  内容分为三章,第一张介绍scrapy,第二张剖析爬取网站,第三章剖析代码。

  Fiddler工具

  Fiddler是坐落客户端和服务器端的HTTP代理,也是目前最常用的http抓包工具之一。它才能记录客户端和服务器之间的所有HTTP请求,可以针对特定的HTTP请求,分析恳求数据、设置断点、调试Web应用、请求更改数据、甚至可以更改服务器返回的数据,功能十分强悍,是WEB调试的神器。

  既然是代理,也就是说:客户端的所有恳求都要先经过Fiddler,然后转发到相应的服务器,反之,服务器端的所有相应,也就会先经过Fiddler之后发送到客户端。

  分析新浪微博数据结构

  首先我们登陆微博可以看见Fiddler抓取的包:

  

  其中点击 /api/container/getIndex?type=uid&value=6311254871&containerid=54871 HTTP/1.1我们可以看见微博获取个人信息的API接口,里面储存着json数据。

  简单剖析下JSON,我们可以晓得上面储存着爱称、个性签名、微博数、关注数、粉丝数等个人信息。我们可以记录下我们须要的信息。

  同理,我们通过不断剖析Fiddler抓取的包可以得到微博内容的API,粉丝列表的API,关注者列表的API。里面依然是JSON格式,我们从中记录下我们须要的信息。

  编写Model层

  刚刚我们记录下了各个API中我们须要抓取的信息,然后就可以在程序中编撰我们的数据层了。scrapy是用Django编撰的,他们的数据层基本是一样的,是由Django的ARM框架封装的。

  类似于右图,我们把带抓取的数据格式写好:

  

  把数据库配置好:

  

  完成以上步骤就可以打算编撰我们的爬虫代码了。

  参考:

  1、《Python网路数据采集》

  2、

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线