今天,我们使用selenium爬取微博的转发、点赞、评论数,并利用简单循环监测微博数据,下面我们随便找一个微博做为试验,比如这个:
其转发、点赞、评论数为:
具体程序实现为:
#此程序用来爬取微博转发数、留言数、点赞数 #具备一定的定时功能,可以一直运行,等到一定数量时可以自动提醒。
from selenium import webdriver import time from selenium.webdriver.common.by import By from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.support.wait import WebDriverWait #目标微博网址 url='https://weibo.com/1652484947/I9L8pju95?refer_flag=1001030103_&type=comment' def parse_content(): #找到css选择器 sel='li > a > span> span >span>em:nth-child(2)' #发现转发数、留言数、点赞数 elem=driver.find_elements_by_css_selector(sel) return [int(i.text) for i in elem[1:]] if __name__ == '__main__': while True: driver = webdriver.Chrome() driver.get(url) #等待页面加载完毕 wait = WebDriverWait(driver, 10) wait.until(EC.presence_of_element_located((By.CLASS_NAME, 'WB_detail'))) #进行爬取 info=parse_content() response,comments,like=info print(info) if response >100: print('你关注的微博已经超过:'+str(response)) else: print('Nothing to do') time.sleep(1200)
运行结果如下:
可以看到,转发数量已经比我刚才截屏时多了3个,这个程序可以一直运行下去,做一个监测,即每隔20分钟进行一次爬取,当转发数超过一定数量时,就可以输出了,实现一个简单的监测功能。
好了,See you
转载:https://blog.csdn.net/Pythoncxy/article/details/102072247
查看评论