前天给大家分享了如何利用Python网络爬虫爬取微信朋友圈数据的上篇(理论篇),今天给大家分享一下代码实现(实战篇),接着上篇往下继续深入。

一、代码实现

1、修改Scrapy项目中的items.py文件。我们需要获取的数据是朋友圈和发布日期,因此在这里定义好日期和动态两个属性,如下图所示。

2、修改实现爬虫逻辑的主文件moment.py,首先要导入模块,尤其是要主要将items.py中的WeixinMomentItem类导入进来,这点要特别小心别被遗漏了。之后修改start_requests方法,具体的代码实现如下图。

3、修改parse方法,对导航数据包进行解析,代码实现稍微复杂一些,如下图所示。

l需要注意的是从网页中获取的response是bytes类型,需要显示的转为str类型才可以进行解析,否则会报错。

l在POST请求的限定下,需要构造参数,需要特别注意的是参数中的年、月和索引都需要是字符串类型的,否则服务器会返回400状态码,表示请求参数错误,导致程序运行的时候报错。

l在请求参数还需要加入请求头,尤其是Referer(反盗链)务必要加上,否则在重定向的时候找不到网页入口,导致报错。

l上述的代码构造方式并不是唯一的写法,也可以是其他的。

4、定义parse_moment函数,来抽取朋友圈数据,返回的数据以JSON加载的,用JSON去提取数据,具体的代码实现如下图所示。

5、在setting.py文件中将ITEM_PIPELINES取消注释,表示数据通过该管道进行处理。

6、之后就可以在命令行中进行程序运行了,在命令行中输入scrapy crawl moment -o moment.json,之后可以得到朋友圈的数据,在控制台上输出的信息如下图所示。

7、尔后我们得到一个moment.json文件,里面存储的是我们朋友圈数据,如下图所示。

8、嗯,你确实没有看错,里边得到的数据确实让人看不懂,但是这个并不是乱码,而是编码的问题。解决这个问题的方式是将原来的moment.json文件删除,之后重新在命令行中输入下面的命令:scrapy crawl moment -o moment.json -s FEED_EXPORT_ENCODING=utf-8,此时可以看到编码问题已经解决了,如下图所示。

下一篇文章,小编带大家将抓取到的朋友圈数据进行可视化展示,敬请关注~~

如何利用Python网络爬虫爬取微信朋友圈动态--附代码(下)相关推荐

  1. python抓取朋友圈动态_如何利用Python网络爬虫爬取微信朋友圈动态--附代码(下)...

    原标题:如何利用Python网络爬虫爬取微信朋友圈动态--附代码(下) 前天给大家分享了如何利用Python网络爬虫爬取微信朋友圈数据的上篇(理论篇),今天给大家分享一下代码实现(实战篇),接着上篇往 ...

  2. python朋友圈动态_如何利用Python网络爬虫爬取微信朋友圈动态--附代码(下)

    前天给大家分享了如何利用Python网络爬虫爬取微信朋友圈数据的上篇(理论篇),今天给大家分享一下代码实现(实战篇),接着上篇往下继续深入. 一.代码实现 1.修改Scrapy项目中的items.py ...

  3. python爬虫微信朋友圈怎么发文字_如何利用Python网络爬虫抓取微信朋友圈的动态(上)...

    今天小编给大家分享一下如何利用Python网络爬虫抓取微信朋友圈的动态信息,实际上如果单独的去爬取朋友圈的话,难度会非常大,因为微信没有提供向网易云音乐这样的API接口,所以很容易找不到门.不过不要慌 ...

  4. python抓取微信朋友圈动态_2018最全如何利用Python网络爬虫抓取微信朋友圈的动态...

    今天小编给大家分享一下如何利用Python网络爬虫抓取微信朋友圈的动态信息,实际上如果单独的去爬取朋友圈的话,难度会非常大,因为微信没有提供向网易云音乐这样的API接口,所以很容易找不到门.不过不要慌 ...

  5. 2018最全如何利用Python网络爬虫抓取微信朋友圈的动态

    今天小编给大家分享一下如何利用Python网络爬虫抓取微信朋友圈的动态信息,实际上如果单独的去爬取朋友圈的话,难度会非常大,因为微信没有提供向网易云音乐这样的API接口,所以很容易找不到门.不过不要慌 ...

  6. 如何利用Python网络爬虫抓取微信朋友圈的动态(上)

    今天小编给大家分享一下如何利用Python网络爬虫抓取微信朋友圈的动态信息,实际上如果单独的去爬取朋友圈的话,难度会非常大,因为微信没有提供向网易云音乐这样的API接口,所以很容易找不到门.不过不要慌 ...

  7. 如何利用Python网络爬虫抓取微信朋友圈的动态

    1.引言 最近初学Python,写爬虫上瘾.爬了豆瓣练手,又爬了公司的论坛生成词云分析年度关键词.最近琢磨着2017又仅剩两月了,我的年度关键词是啥? 所以自然想到爬取下自己的微信朋友圈,来个词频分析 ...

  8. 利用Python、ADB爬取微信朋友圈

    说明:我是把朋友圈当做博客来写的,从QQ的说说时代开始,写到微信的朋友圈,合计大概100-200万字.当我想把它们收集.整理起来的时候,才发现微信不提供自动访问的接口,只好出此下策.按这种方法爬取微信 ...

  9. python爬虫能爬取微信密码吗_如何利用Python网络爬虫抓取微信好友数量以及微信好友的男女比例...

    今天我们继续focus on微信,不过这次给大家带来的是利用Python网络爬虫抓取微信好友总数量和微信好友男女性别的分布情况.代码实现蛮简单的,具体的教程如下. 相信大家都知道,直接通过网页抓取微信 ...

最新文章

  1. HDU - 2181-哈密顿绕行世界问题
  2. 子元素超出了父元素的高度_T恤定制融入中国元素,美出新高度
  3. file 选择的文件胖多有多大_「HTML5 进阶」FileAPI 文件操作实战,内附详细案例,建议收藏...
  4. SSM 框架 Maven项目整合实例
  5. 怎样编写测试类测试分支_编写干净的测试–从配置开始
  6. Android学习笔记---24_网络通信之网页源码查看器
  7. java对象的内存结构_Java对象在内存中的结构分析
  8. java常用设计模式总结
  9. 数学 三角函数 sin 正弦、cos 余弦、tan 正切、cot 余切、sec 正割、csc 余割 简介
  10. 在Ubuntu上安装搜狗输入法
  11. 夜间环境人脸识别_古蔺县小区人脸识别门禁系统方案_点击了解
  12. invalid characters encountered in Hex string
  13. 小型电话薄管理系统(Mysql数据库)
  14. 路由器R473g虚拟服务器设置,TL-R473G上网方式配置详解 路由器
  15. B、BL、BX、BLX 和 BXJ
  16. 漫画:生命游戏(头条、Google 面试题)
  17. Borland 賣掉 CodeGear
  18. 基于Struts开发电影订票网站
  19. 一次性电子烟咪头概述和开发方案
  20. 要是我早点学会了使用三叉戟(Docker),那我不是就有时间像海王一样去找小姐姐们

热门文章

  1. C++:从子类访问父类的私有函数
  2. 安装Fedora 15后需做的25件事情
  3. centos查看模块信息和模块路径
  4. 批处理显示语句学习(echo、 @ 、 pause)
  5. VC++读写INI文件示例
  6. C# 泛型类型参数的约束
  7. 图解Oracle用户管理
  8. 组件通信 $ref
  9. 学习旧岛小程序 (5) observer 函数中修改属性的值
  10. 左右躲避障碍-神手ts版本