分享好友 最新动态首页 最新动态分类 切换频道
【保姆级爬虫】微博关键词搜索并获取博文和评论内容(python+selenium+chorme)
2024-12-26 07:00

写这个主要是为了防止自己忘记以及之后的组内工作交接,至于代码美不美观,写的好不好统统不考虑,我只能说,能跑就不错了,上学压根没学过python好吧,基本上是crtl+c&ctrl+v丝滑小连招教会了我一点。

【保姆级爬虫】微博关键词搜索并获取博文和评论内容(python+selenium+chorme)

写的很简单,认真看完就会用了

文中筛选元素用到的一些筛选元素的正则匹配、beautifulsoup,css等相关方法我也不太懂,现学现用呗,还是那句话,能跑就行。

配置简介
python3.6、selenium3.13.0,chorme以及与chorme版本对应的chormedriver
(selenium在4版本后的一些语句会需要修改,网上一大把自己查

1、启动程序控制的chorme,手动登录微博
2、在微博进行关键词的检索
3、微博的发布信息获取
4、保存数据
5、实现自动翻页
6、微博的评论信息获取

1、先启动一个由程序控制的chorme

(1)win+R,输入cmd打开命令行,输入代码进入chorme的安装位置

 

(2)分配chorme的端口号(我这里设置的是9527)和数据目录(我这里是在D:seleniumAutomationProfile

 

每次执行(1(2)两行命令就能打开同一个chorme了建议放在程序解析的最上方,这样浏览器关闭后下次可以通过命令行快速打开
(3)浏览器已经打开了登录一下自己的微博
(4)链接一下程序和浏览器

 

2、进行关键词的检索

从这里开始写函数的主体,自己搞个函数名把这些代码放进去
关键词搜索的链接如下:

 

搜索页面翻页直接在后面加一个page=页码,如第二页

 

selenium获取初步搜索结果

 

在浏览器里点击右键选择检查,在浏览器里面可以用检查页面左上角的框框箭头符号方便得在左边选择图案或者文字,然后实时在右边看到这个被选择的要素在哪个标签

可以发现每个博文都在action-type="feed_list_item"的div标签下(结合下图左右蓝色部分理解,标签就是一个<>包含的东西这是一个很重要的地方,学会用浏览器的这个功能选取自己需要的信息在哪个标签里面,下面所有获取信息的代码几乎都是基于此

 

3、解析多种数据

 

(2获取微博的mid

 

(3获取发布者的昵称

 

(4获取时间

 

(5点赞、评论、转发的人数

 

(6获取更多关于微博博主的信息
需要先从微博的搜索页面跳转到用户的界面,获取完信息后需要再跳转回来

 

(7)获取用户类型(红V,蓝V,黄V等
同样的,先获取这个类型所在的网页标签,然后得到具体内容,如果没有红V,蓝V,黄V则程序执行异常,通过try语句抓取异常,将用户类型设置为普通用户

 

(8)获取用户性别

 

(9)获取用户的粉丝关注人数

 

(10)获取用户的ip以及年龄

地址有两种,一种直接在用户界面写ip属地后面接ip地址,另一种是地点的小图标后接ip地址,所以需要先判断是不是能用第一种拿到ip,不行就用第二种,都不行就是没有ip

浏览器检查网页可以发现展开后的一条条的信息标签都是一样的,不好区分,这里采用获取文本信息后进行关键词的监测来从中获取ip属地和出生日期

 

网上随便找的根据日期计算生日的方法

 

检查关键词的方法,keywords是要找的关键词,text是全部文本

 

4、保存数据

 

如此一来,一个微博内容以及发布者的信息获取就完成了,我们保存数据后再次切换网页到搜索页面,在此之后就是继续对前文提到的微博列表list里面的下一个微博进行上述处理,文章3.1写到的for已经帮助我们进行了循环功能,所以这下面的代码放在for循环里面就可以了

 

5、搜索结果翻页

前面我们只实现了一页网页的数据,下面实现翻页

 

将以上内容串起来
下面的start_crawler函数就是爬虫的主体,也就是写
web.get(url)
print(“=开始了开始啦====”)
html = web.page_source
等等等上述代码

 

6、微博的评论信息获取

这是另一个python文件了,这里用的评论链接获取的网页和前面的网页不同,是json格式的数据,解析数据时用到的方法不同,详情可以自行搜索

6.1先看主函数
read_mid读取目标微博的mid号列表,然后用mid拼成每条微博评论所在的链接url,通过start_crawler爬取每条微博的所有评论

 

6.2 read_mid函数

 

6.3 start_crawler函数
涉及到评论翻页的问题,评论翻页用max_id来标记(微博自己设置的,为0时翻页完毕
将获取的网页数据识别成json处理

 

6.3 get_info 函数
不太想解释了,下次有空再解释吧
计算年龄的函数同上文

最新文章
2024年广州荔湾区高三补习班有哪些>top5按实力排行榜
2024年广州荔湾区高三补习班有哪些top5按实力排行榜  2. 广州荔湾区高三复读辅导班  3. 广州荔湾区立行高考复读冲刺班  4. 广州荔湾区立行高中复读集训班
facebook如何精准找客户?facebook找客户技巧
随着社媒的的发展,像在领英、脸书、ins等平台上进行拓客的手段也层出不穷。那facebook如何精准找客户呢?下面就为大家分享一下facebook找客户技巧,一起来看看吧。facebook找客户技巧1.利用facebook主页小组联动进行开发这一点是基于你的
Linux下无root权限Matlab安装
先前为算一个例子,需要在一个小集群上安装Matlab软件,由于没有root权限,颇费了一些周折。将经验分享如下,如转载,请注明出处。安装环境:小集群中上一个节点软件版本:Matlab-2010b登陆主节点,并ssh切换到server11.获取安装文件找到安
2024年用户眼中最流畅的手机系统排行揭晓,国产崛起 iOS稳居榜首
近年来,随着手机市场的竞争日益激烈,各大厂商在硬件不断升级的同时,对操作系统的优化也是不遗余力。用户对流畅度、稳定性、功能性等方面的需求越来越高,因此,“用户眼中最丝滑流畅的手机系统排行”成为了一个值得关注的话题。结合鲁大
5.4 病毒式传播内容
本文翻译自SEO大神光头强(Brian Dean)内容营销系列教程《第五章:内容推广》里的第四节《病毒式传播内容》。内容摘要:能在网上像病毒一样传播的爆款文章,会给你带来可观的流量。 这篇文章告诉你病毒式传播内容的写作方法:如何找话题、哪
360清理大师[编辑]
概述360清理大师是360奇虎科技有限公司开发的智能手机应用,是一款完全免费的手机加速与空间清理软件,功能强大,操作简单,作为360用户对清理大师的功能特征,使用方法等都必须了解。360清理大师:更简单,更畅快!用户信赖的手机清理神器
CGTN专访丨梁正:中国在人工智能监管领域的探索与实践
编者按 近年来,人工智能领域发展迅猛,技术更新迭代节奏很快。如何确保这项技术良性发展,中国在人工智能监管方面取得了哪些成果?近日,CGTN记者专访清华大学公共管理学院教授、清华大学人工智能国际治理研究院副院长梁正,就人工智能监
1688入驻流程是什么?具体怎么做?(入驻1688需要什么条件)
在数字化时代,电商平台已成为企业开展业务的重要渠道之一。阿里巴巴旗下的1688平台,作为国内领先的B2B电子商务平台,吸引了众多企业的目光。那么,如何在1688上成功入驻呢? 入驻1688平台,需要了解并遵循其入驻流程。这一过程主要包括注
Dinky 0.7.3 版本的安装与简单使用
Dinky 是一个开源的流式计算平台,基于 Apache Flink 构建,致力于提供流处理作业的开发、调试、发布、运维一站式服务。它支持 SQL 语法,方便数据开发人员快速上手。 在本文中,我们将详细介绍 Dinky 0.7.3 版本
2024淘宝销量累计多久的?淘宝店销量多久更新一次?(今年淘宝销量突破多少亿)
淘宝平台的销量数据对于商家而言至关重要,它不仅影响着商品的曝光率,还直接关系到消费者的购买决策。了解2024年淘宝销量累计的时间范围和更新频率,对于商家优化运营策略具有重要意义。 一、2024淘宝销量累计多久的? 淘宝平台的销量累计
相关文章
推荐文章
发表评论
0评