Python爬虫系列20-十万个冷笑话视频播放量采集

2022-08-26  本文已影响0人  Tony_Pm

序言

有的人之所以能够成事,除了自身的能力、天赋、背景之外,他们还有一种成功的特质,那就是专注力,他们能够专注于一件事,不想其他,通过不断地实践,就努力去做好这件事,这样就不容易被外界环境所干扰和造成影响。
他们会不惜一切代价,会花费大量的时间和精力去做好它,熟能生巧,到时候即使不成功,也是有巨大收获的。
我也始终坚信,我们每个人的潜力都是不可估量的,只要努力去做,想做的事情,总是会取得很大的效果的。

实战

image.png

代码实战

我这里采用的是自动化采集,当然也有别的方式哈;大家可自行研究一下。

from selenium import webdriver
from lxml import etree
import pandas as pd

# 数据列表
urls = []
title = []
views = []

wd = webdriver.Chrome(r'C:\Users\Tony\PycharmProjects\Module_Tony_Demo\Moudle\chromedriver.exe')
# 请求
wd.get('https://search.bilibili.com/all?keyword=%E7%AC%91%E8%AF%9D&from_source=web_search')

# 获取首页HTML
f = wd.page_source
page = etree.HTML(f)
up = page.xpath('//a[@class="up-name"]/text()')
q = page.xpath('//li[@class="video-item matrix"]')


# 获取二级页面 url,标题
for i in q:
    url = 'https:' + i.xpath('./a/@href')[0]
    title.append(i.xpath('./a/@title')[0])
    urls.append(url)

# 二级页面数据获取
def two(tex):
    text = etree.HTML(tex)
    ll = text.xpath('//div[@class="video-data"]')
    for i in ll:
        view = i.xpath('./span[@class="view"]/@title')[0]
        view = view.replace("总播放数", "")
        views.append(view)


for m, k in enumerate(urls):
    try:
        wd.get(k)
        tt = wd.page_source
        two(tt)
    except:
        print('出现空值%s' % (m + 1))

# 存储
writer = {'播放量': views}
uu = pd.DataFrame(writer)
uu.to_excel('笑话视频观看人数.xlsx', index=0)

image.png

如果本文对你学习有所帮助-可以点赞👍+ 关注!将持续更新更多新的文章。

上一篇下一篇

猜你喜欢

热点阅读