专题系列导引

  爬虫课题描述可见:

Python爬虫【零】课题介绍 – 对“微博辟谣”账号的历史微博进行数据采集

  课题解决方法:

微博移动版爬虫

Python爬虫【一】爬取移动版“微博辟谣”账号内容(API接口)

微博PC网页版爬虫

Python爬虫【二】爬取PC网页版“微博辟谣”账号内容(selenium同步单线程)
Python爬虫【三】爬取PC网页版“微博辟谣”账号内容(selenium单页面内多线程爬取内容)
Python爬虫【四】爬取PC网页版“微博辟谣”账号内容(selenium多线程异步处理多页面)


问题

  博主曾经遇到一个学习性质的爬虫课题:爬取‘微博辟谣’账号的历史微博。具体要求如下:

采集范围:1. ‘微博辟谣’账号原创或转发的历史全部贴子。2. 需要踢除微博月度工作报告。剔除的样例如下:采集格式:
采集方框中的如下文本信息。分为4列。每行一条记录。1. 若为该账号原创帖,则采集账号本身、文本内容、发布时间、转发数。2. 若为转发的贴子,需要采集包含:原贴发布账号、原贴文本内容、原贴发布时间、原贴转发数。

原贴提取内容如下红框


转发贴提取内容:

分析

要提取微博网站的数据,有几种数据源的渠道:

  • 有最早的web2G移动版(最早版本,页面特别简单,现在已经基本不用)
  • 3G4G移动版(IOS、Android手机浏览器浏览微博 URL:https://m.weibo.cn)
  • PC网页版(使用PC浏览器IE、Chrome、Safari等浏览微博,URL:https://weibo.com)

  因为每一种渠道对应的网站设计架构、DOM结构、HTML展示方式、前后端数据请求加载都是有差异的,随之而来的问题就是:对于不同的渠道源,设计爬虫程序的思路、执行的运行耗时、结果提取数据的准确性、全面性等细节都有可能不同。
  因此我们最终确立的方向也分为了以下两种:

  1. 如果所选渠道的工作方式是调用API接口获取json数据,然后再加载页面,那我们可以直接调用API后台接口,提取必要字段,则完成爬取工作。经分析,微博移动版网页即为此情形。
  2. 如果所选渠道的工作方式不是通过API异步加载数据渲染,而是访问网站URL时直接渲染了全部html结果返回,甚至用了react、vue或其他前端工程框架,则用selenium爬虫的方式爬取必要的字段方式来爬取数据。经分析,微博PC网页版为此种情形。

  此专题后面的文章,我们针对这两种情形,讨论其对应的爬取设计思路和实现逻辑

项目工程

工程参见:微博数据采集python+selenium工程:WBCrawler.zip

本专题内对源码粘贴和分析已经比较全面和清楚了,可以满足读者基本的学习要求。源码资源为抛砖引玉,也只是多了配置文件和一些工具方法而已,仅为赶时间速成的同学提供完整的项目案例。大家按需选择

执行程序

项目工程编译了windows版本执行程序:微博数据采集python+selenium执行程序:WBCrawler.exe

  1. 执行项目前,需要下载selenium对应的浏览器驱动程序(driver.exe),并放在本机环境变量路径中,否则会报错。安装操作具体可见博客专题中的指导【二】

  2. 执行程序时,会在系统用户默认路径下,创建一个虚拟的python环境(我的路径是C:\Users\Albert\AppData\Local\Temp_MEI124882\),因此启动项目所需时间较长(约20秒后屏幕才有反应,打出提示),请耐心等待;也正因如此,执行电脑本身环境是可以无需安装python和selenium依赖包的;同时最后爬取保存的excel也在此文件夹下。

  3. 本项目采用cmd交互方式执行,因此等到屏幕显示:

     选择爬取方式:1. 移动版微博爬取2. PC网页版微博爬取(单线程)3. PC网页版微博爬取(页面内多线程)4. PC网页版微博爬取(多线程异步处理多页面)
    

后,用键盘输入1~4,敲回车执行

  1. 此exe编译时,工程代码内编写的最终excel记录保存地址为:相对工程根路径下的excel文件夹;因此当本exe执行到最后保存数据时,会因为此excel文件夹路径不存在而报错。若在工程中将保存地址改为绝对路径(例如D:\excel\),再编译生成exe执行,则最终爬取数据可以正确保存

声明

  此问题为探讨研究性质课题,因此专题内所提供的文章、源码、方法、工程、爬取到的数据,都仅供兴趣爱好了解或个人学习研究使用,所有版权归属作者或原文博主。不得将其用于任何商业用途,也不可用于爬取私人数据,或用于网络攻击工具,否则相关法律后果由使用者自行承担!

Python爬虫【零】问题介绍 -- 对“微博辟谣”账号的历史微博进行数据采集相关推荐

  1. Python爬虫【二】爬取PC网页版“微博辟谣”账号内容(selenium同步单线程)

    专题系列导引   爬虫课题描述可见: Python爬虫[零]课题介绍 – 对"微博辟谣"账号的历史微博进行数据采集   课题解决方法: 微博移动版爬虫 Python爬虫[一]爬取移 ...

  2. Python爬虫【四】爬取PC网页版“微博辟谣”账号内容(selenium多线程异步处理多页面)

    专题系列导引   爬虫课题描述可见: Python爬虫[零]课题介绍 – 对"微博辟谣"账号的历史微博进行数据采集   课题解决方法: 微博移动版爬虫 Python爬虫[一]爬取移 ...

  3. Python爬虫【三】爬取PC网页版“微博辟谣”账号内容(selenium单页面内多线程爬取内容)

    专题系列导引   爬虫课题描述可见: Python爬虫[零]课题介绍 – 对"微博辟谣"账号的历史微博进行数据采集   课题解决方法: 微博移动版爬虫 Python爬虫[一]爬取移 ...

  4. Python爬虫零基础到进阶(课程说明)

    Python爬虫零基础到进阶 课程介绍总结 学-练-问 跟着学.多做多练.不懂就问.坚持就是胜利! 作业 飞书布置,作业提交放到群里,老师批改. 代码量 python基础: 十一次课,学会python ...

  5. python爬虫可以爬什么山好_学技树-Python爬虫零基础到爬啥都行

    0101课程介绍.mp4 0202认识爬虫.mp4 0303requests库的安装与基本使用.mp4 0404requests库中的User-Agent请求头.mp4 0505requests中的p ...

  6. python爬虫视频 下载 黑马_Python爬虫能爬视频么(python爬虫零基础视频教程)

    Python爬虫能爬视频么 他视频没有的,但是跑了之后你要处理这个视频,就是问题的?你只需要,得到视频的播放地址,还是要把视频完整的下载到本地的.如果只是爬那个视频的下载地址,很简单,如果要下载的话, ...

  7. 如何自学python爬虫-零基础入门Python爬虫不知道怎么学?这是入门的完整教程

    这是一个适用于小白的Python爬虫免费教学课程,只有7节,让零基础的你初步了解爬虫,跟着课程内容能自己爬取资源.看着文章,打开电脑动手实践,平均45分钟就能学完一节,如果你愿意,今天内你就可以迈入爬 ...

  8. python selenium采集速卖通_2.不苟的爬虫小教程系列:python爬虫技术栈介绍

    鉴于爬虫初学者们,往往也是编程的初学者,我在这里介绍一套最常用的技术栈,不求多,只求精. 毕竟我们的目标是采集到数据,只要能够成功实现目标的工具就是好工具. 爬虫框架scrapy:该框架是scrapi ...

  9. python爬虫什么意思-Python爬虫是什么意思有啥用 python爬虫原理实例介绍

    据华为中国官方消息,今日,华为中国发文<小白看过来,让Python爬虫成为你的好帮手>,文中详细介绍了Python爬虫的工作原理,我们来看一下吧. 以下为<小白看过来,让Python ...

最新文章

  1. 关系型数据库设计要领(值得收藏)
  2. 【转】EXC_BAD_ACCESS问题在xode4下的调试技巧
  3. 剑指-顺时针打印矩阵
  4. 面试题 03.04. 化栈为队/面试题09. 用两个栈实现队列/232. 用栈实现队列
  5. 60 岁的人工智能,会是“人类历史最后的事件”吗?
  6. HDOJ-1875-畅通工程再续 解题报告
  7. CPLEX-求解VRPTW模型
  8. 线性调频信号与脉冲压缩
  9. C++中float和double的比较
  10. 三、Snapman多人协作电子表格之——软件的基本功能
  11. 平面设计文字排版方式有哪些?设计师们收藏——黎乙丙
  12. Flink Table和SQL中Table和DataStream的相互转换(fromDataStream、toChangelogStream、attachAsDataStream)
  13. 正则表达式的基本原理
  14. Mortal Kombat Tower (dp动态规划)
  15. 细说集线器、交换机和路由器
  16. Python---面向对象
  17. 幻方构造方法及C语言实现
  18. 心跳包(HeartBeat)
  19. 基于SQLSERVER--数据库表的修复
  20. 简单5招教你拍摄雪景个人写真?

热门文章

  1. 国际版吃鸡服务器维护请稍后再试,绝地求生刺激战场国际版
  2. 关于数据表格的测试方法
  3. QTextEdit 多行文本框
  4. Python关键字参数和可变参数
  5. 引用拷贝、浅拷贝和深拷贝区别
  6. idea 注释模板设置
  7. 含泪整理最优质生鲜食品网页设计模板素材,你想要的这里都有
  8. BiFinance币慧交易所全球首发GES,上线一周涨幅已达12000%
  9. 【华为机试真题 Python实现】路灯问题【2022 Q1 Q2 |200分】
  10. 2022年福田英才荟高新企业人才奖励申请指南