python爬取360百科获取春晚基本信息

前言

之前看到大佬爬取维基百科获取春晚的信息,做了些数据分析,我也想跟着试一下,但是…
不过我居然在360百科上面发现了多年春晚的信息,便选择从360百科爬取。

站点分析

从网站可以看出,它的每个词条应该对应着唯一的一个html页面
在这里插入图片描述
我们搜索的参数并没有直接通过get在地址栏显示出来,而是藏在了cookie当中,也就是我们可以通过修改cookie了打开不同年份的页面。
在这里插入图片描述
但是我图个简单没选择这种方式,而是选择直接在搜索框输入内容进行词条的切换。

数据获取

获取不同年份

在这里插入图片描述
利用selenium根据这个id选中输入框,并输入相应内容

def get_url(year):
    browser.get('https://baike.so.com/')						#browser为全局属性browser= webdriver.Chrome()
    input = wait.until(													#wait为全局属性wait = WebDriverWait(browser, 10)
        EC.presence_of_element_located((By.CSS_SELECTOR, '#J-search-word'))
    )
    input.send_keys(str(year)+KEYWORD)				#KEYWORD = '年中央电视台春节联欢晚会',写在配置文件中
    input.send_keys(Keys.ENTER)
    return browser.current_url

通过这个方法就能获取指定年份的春晚信息了,修改KEYWORD还能获取其他词条指定年份的信息。

获取基本信息

在这里插入图片描述
通过这个class获取一对对的基本信息用字典存了起来

def get_info(url):
    browser.get(url)
    html = browser.page_source
    doc = pq(html)
    items = doc.find('.cardlist-con').items()
    dict = {}
    for item in items:
        dict[item.find('.cardlist-name').text()] = item.find('.cardlist-value').text()

整体运行

if __name__ == '__main__':
    for year in range(1983,2020):
        url = get_url(year)
        print(url)
        dict = get_info(url)
        print(dict)
        save_to_mongo('chunwan',dict)

最后通过循环整体运行起来,save_to_mongo是我自己封装的工具类,用来存到MongoDB

结果展示

在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值