小言_互联网的博客

Python:爬取任一微博转发、点赞、评论数!这就是爬虫的牛逼之处

1312人阅读  评论(0)

今天,我们使用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
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场