python爬取微博评论点赞数_Python selenium爬取微博数据代码实例
爬取某人的微博数据,把某人所有时间段的微博数据都爬下来。
具体思路:
创建driver—–get网页—-找到并提取信息—–保存csv—-翻页—-get网页(开始循环)—-…—-没有“下一页”就结束,
用了while True,没用自我调用函数
嘟大海的微博:https://weibo.com/u/1623915527
办公室小野的微博:https://weibo.com/bgsxy
代码如下from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import csv
import os
import time
#只有这2个参数设置,想爬谁的微博数据就在这里改地址和目标csv名称就行
weibo_url = 'https://weibo.com/bgsxy?profile_ftype=1&is_all=1#_0'
csv_name = 'bgsxy_allweibo.csv'
def start_chrome():
print('开始创建浏览器')
driver = webdriver.Chrome(executable_path='C:/Users/lori/Desktop/python52project/chromedriver_win32/chromedriver.exe')
driver.start_client()
return driver
def get_web(url): #获取网页,并下拉到最底部
print('开始打开指定网页')
driver.get(url)
time.sleep(7)
scoll_down()
time.sleep(5)
def scoll_down(): # 滚轮下拉到最底部
html_page = driver.find_element_by_tag_name('html')
for i in range(7):
print(i)
html_page.send_keys(Keys.END)
time.sleep(1)
def get_data():
print('开始查找并提取数据')
card_sel = 'div.WB_cardwrap.WB_feed_type'
time_sel = 'a.S_txt2[node-type="feed_list_item_date"]'
source_sel = 'a.S_txt2[suda-uatrack="key=profile_feed&value=pubfrom_guest"]'
content_sel = 'div.WB_text.W_f14'
interact_sel = 'span.line.S_line1 span em:nth-child(2)'
cards = driver.find_elements_by_css_selector(card_sel)
info_list = []
for card in cards:
time = card.find_elements_by_css_selector(time_sel)[0].text #虽然有可能在一个card中有2个time元素,我们取第一个就对
if card.find_elements_by_css_selector(source_sel):
source = card.find_elements_by_css_selector(source_sel)[0].text
else:
source = ''
content = card.find_elements_by_css_selector(content_sel)[0].text
link = card.find_elements_by_css_selector(time_sel)[0].get_attribute('href')
trans = card.find_elements_by_css_selector(interact_sel)[1].text
comment = card.find_elements_by_css_selector(interact_sel)[2].text
like = card.find_elements_by_css_selector(interact_sel)[3].text
info_list.append([time,source,content,link,trans,comment,like])
return info_list
def save_csv(info_list,csv_name):
csv_path = './' + csv_name
print('开始写入csv文件')
if os.path.exists(csv_path):
with open(csv_path,'a',newline='',encoding='utf-8-sig') as f: #newline=''避免空行;encoding='utf-8-sig'比utf8牛,保存中文没问题
writer = csv.writer(f)
writer.writerows(info_list)
else:
with open(csv_path,'w+',newline='',encoding='utf-8-sig') as f:
writer = csv.writer(f)
writer.writerow(['发布时间','来源','内容','链接','转发数','评论数','点赞数'])
writer.writerows(info_list)
time.sleep(5)
def next_page_url():
next_page_sel = 'a.page.next'
next_page_ele = driver.find_elements_by_css_selector(next_page_sel)
if next_page_ele:
return next_page_ele[0].get_attribute('href')
else:
return None
driver = start_chrome()
input('请在chrome中登录weibo.com') # 暂停程序,手动登录weibo.com
while True:
get_web(weibo_url)
info_list = get_data()
save_csv(info_list,csv_name)
if next_page_url():
weibo_url = next_page_url()
else:
print('爬取结束')
break
以上就是本文的全部内容,希望对大家的学习有所帮助。
python爬取微博评论点赞数_Python selenium爬取微博数据代码实例相关推荐
- python爬取微博评论点赞数_python 爬虫 爬微博 分析 数据
python 爬虫 爬微博分析 数据 最近刚看完爱情公寓5,里面的大力也太好看了吧... 打开成果的微博,小作文一样的微博看着也太爽了吧... 来 用python分析分析 狗哥这几年微博的干了些啥. ...
- python爬取微博评论点赞数_python爬取点赞评论数
马上注册,结交更多好友,享用更多功能^_^ 您需要 登录 才可以下载或查看,没有帐号?立即注册 x 本帖最后由 清歌终南 于 2018-3-24 22:35 编辑 看了小甲鱼老师的爬取网易云音乐热门评 ...
- python监听文件最后修改人_Python持续监听文件变化代码实例
在日常的工作中,有时候会有这样的需求,需要一个常驻任务,持续的监听一个目录下文件的变化,对此作出回应. pyinotify就是这样的一个python包,使用方式如下: 一旦src.txt有新的内容,程 ...
- python实现一个简单的加法计算器_Python tkinter实现简单加法计算器代码实例
tkinter 是 Python 的标准 GUI 库.Python 使用 tkinter 可以快速的创建 GUI 应用程序.由于 tkinter 是内置到 python 的安装包中.只要安装好 Pyt ...
- python刷b站视频浏览量_python + selenium 刷B站播放量的实例代码
B站UP主的主要收益来源(播放量获取的奖励.用户充电.广告等等) 首先做up主最直接的就是做视频,当你的粉丝过1000或者视频总播放超过10万时可以申请创造激励,申请创造激励之后,你的原创视频播放会给 ...
- 简单爬取微博评论详细解析,学习爬取ajax异步数据交换动态网页
爬取微博评论详细解析,学习爬取ajax异步数据交换动态网页 1.什么是ajax异步数据交换网页 2.用到的工具模块和简单解释 3.网页内容解析 4.代码实现及解释 1.什么是ajax异步数据交换网页 ...
- python爬取多页数据_python爬虫实现爬取同一个网站的多页数据代码实例
本篇文章小编给大家分享一下python爬虫实现爬取同一个网站的多页数据代码实例,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. 一.爬虫的目的 从网上获 ...
- python从文件中读取数据_使用Python脚本从文件读取数据代码实例
这篇文章主要介绍了使用Python脚本从文件读取数据代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 最近自学Python的进度比较慢,工作之 ...
- 微博点赞数等信息和公众号点赞数等信息爬取
一:微博 因为GitHub页面中已有非常详细的描述,这里只贴出地址和运行结果. 地址: https://github.com/dataabc/weiboSpider 运行结果:(获取点赞数,转发数,评 ...
最新文章
- Python中完整的机器学习数据科学课程
- 《css世界》的那些实用技巧
- 8086PC机的内存地址空间分配
- 解决工控网络通信协议威胁的实践
- VTK:相互作用之KeypressEvents
- 信息学奥赛一本通C++语言——1087:级数求和
- 如何在React中使用功能组件
- golang依赖接口,不要依赖具体实现
- java正则表达式笔记_java正则表达式笔记
- Cards BZOJ 1004
- mysql的事物隔离机制?
- 2021年软考网络工程师专题突破视频教程
- 全面解释java中StringBuilder、StringBuffer、String类之间的关系
- html情侣相册,浪漫的情侣相册名字
- 评论抓取:Python爬取AppStore上的评论内容及星级,突破500条限制
- 淘宝/天猫获取sku详情API接口
- 利用开区间覆盖的约简给出有限覆盖定理的一个新证明
- 数据分析师需要学习什么课程?
- 4.Nginx优化,谁用谁说好
- Spring 02
热门文章
- 在到达胜利之前无法回头
- 计算机由哪几种显卡,各类显卡大比拼,你会选择哪一款显卡使用?
- Github图片无法显示解决(Mac版)
- ZUCC_Object Oriented Programming_Lab01 Introduction to Java
- 鼠标点击特效:canvas点击效果
- 测试适合眉形的软件_扫一扫测眉毛 测试适合眉型的软件
- svn: E155019: Can't upgrade as it is not a pre-1.7 work解决办法
- 北师大1903计算机在线答案,[南开大学(本部)]20秋学期(1709、1803、1809、1903、1909、2003、2009 )《程序设计基础(下)》在线作业-2...
- 移动端 背景音乐 自动播放
- 哪款分体式蓝牙耳机体验最好?便宜好用的分体式蓝牙耳机!