今天,我们使用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
查看评论