相关动态
【保姆级爬虫】微博关键词搜索并获取博文和评论内容(python+selenium+chorme)
2024-11-03 04:29

写这个主要是为了防止自己忘记以及之后的组内工作交接,至于代码美不美观,写的好不好统统不考虑,我只能说,能跑就不错了,上学压根没学过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处理

    以上就是本篇文章【【保姆级爬虫】微博关键词搜索并获取博文和评论内容(python+selenium+chorme)】的全部内容了,欢迎阅览 ! 文章地址:http://sjzytwl.xhstdz.com/news/249.html 
     栏目首页      相关文章      动态      同类文章      热门文章      网站地图      返回首页 物流园资讯移动站 http://sjzytwl.xhstdz.com/mobile/ , 查看更多   
最新文章
163手机(163手机版)
  《关于“163手机”的全面解析》  随着科技的飞速发展,智能手机已经成为我们日常生活中不可或缺的一部分。在众多手机品牌
腾讯手机管家(PC版) 5.8.2手机管家「腾讯手机管家(PC版) 5.8.2」
腾讯手机管家PC版(原腾讯应用助手)是一款PC端安卓智能手机管理软件。腾讯手机管家可以为用户提供海量的应用软件,方便用户下载,
汽车上用手机支架汽车手机支架「汽车上用手机支架」
手机支架是一种可以安装在汽车上的设备,它可以让驾驶员在驾驶过程中方便地使用手机。这种支架通常由两个部分组成:一个固定在汽
颜值大比拼!2022下半年绝对不能错过的三款手机高颜值手机「颜值大比拼!2022下半年绝对不能错过的三款手机」
俗话说人靠衣装马靠鞍,在盛行内卷的快时代,各大手机厂商想要争得一席之位,手机的颜值必须要足够有特色才能吸引更多的消费者
苹果11录音功能在哪设置出来苹果手机录音功能在哪「苹果11录音功能在哪设置出来」
开启苹果11的录音功能 要在11上设置并使用录音功能,您可以按照以下步骤进行操作:1. 检查内置应用 您需要确认您的iPhone 11已经
揭秘!智能手机电池:一充究竟能存多少度电?手机电量「揭秘!智能手机电池:一充究竟能存多少度电?」
在这个智能手机普及的时代,我们几乎无时无刻不依赖手中的小屏幕。然而,一个看似简单却常常引发疑惑的问题始终萦绕在人们心头:
166开头的手机号(166开头的手机号是哪个运营商)
  关于《以166开头的手机号》的文章  在中国的手机市场中,以166开头的手机号码是一种特殊的存在。这种号码段作为移动通讯领
苹果手机怎么全屏截图苹果手机怎么截图「苹果手机怎么全屏截图」
在数字时代,截图已成为我们日常生活和工作中不可或缺的一部分。对于使用苹果手机的用户来说,全屏截图功能尤为重要,特别是在需
360手机助手iphone版(360手机助手iphone版官方下载)
  《360手机助手iPhone版》:一站式手机管理利器  随着科技的发展,智能手机已经成为我们日常生活中不可或缺的一部分。为了
2手手机5(2手手机交易市场)
  《二手手机市场的新篇章:二手手机市场5》  随着科技的飞速发展,智能手机已经成为我们日常生活中不可或缺的一部分。随着