博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
爬取熊猫TV,javascript,selenium,模拟点击
阅读量:6421 次
发布时间:2019-06-23

本文共 1981 字,大约阅读时间需要 6 分钟。

from selenium import webdriverimport csvdef get_pages_numger(browser):    res = browser.find_elements_by_xpath('//div[@class="page-component"]/a[7]')    return int(res.text)    def get_next_page_buttun(browser):    button = browser.find_elements_by_xpath()    return buttondef get_rooms_number_in_a_page(browser):    res = []    for li in browser.find_elements_by_xpath('//li[@data-id]'):        id = li.get_attribute("data-id")        nickname = li.find_element_by_xpath('//span[@class="video-nickname"]')        number = li.find_element_by_xpath('//span[@class="video-number"]') # 观众数        cate = li.find_element_by_xpath('//span[@class="video-cate"]')        res.append([id, nickname, cate, number])    return resdef get_rooms_number_in_all_pages(browser, pages_number):    res = []     for i in range(pages_number):        print('第{}页'.format(i+1))        # 抓取        res.extend(get_rooms_number_in_a_page(browser))                # 点击进入下一页        next_page_button = get_next_page_buttun(browser)        next_page_button.click()        browser.close()        return res        def save_to_csv(rooms_number):    with open('live_rooms_number.csv', 'w') as f:        writer = csv.writer(f, lineterminator='\n')        writer.writerow(['id','nickname','cate', 'number']) # 表头        writer.writerows(rooms_number)                    def read_from_csv():    with open('live_rooms_number.csv', 'r') as f:        reader = csv.reader(f)        your_list = list(reader)[1:] # 去掉表头    #print(your_list)    return your_list                def get_rooms_number():    browser = webdriver.Firefox()    browser.get('http://www.panda.tv/all')    assert '熊猫TV' in browser.title        pages_number = get_pages_numger(browser)        all_live_rooms_number = get_rooms_number_in_all_pages(browser, pages_number)        return all_live_rooms_number            if __name__ == '__main__':        rooms_number = get_rooms_number()    save_to_csv(rooms_number)        #rooms_number = read_from_csv()

转载地址:http://qjlra.baihongyu.com/

你可能感兴趣的文章
深入剖析 iOS 性能优化
查看>>
深度学习中常见问题
查看>>
数据绑定(九)Binding的数据校验
查看>>
Postfix Self Expression
查看>>
sql删除重复数据只保留一条
查看>>
版本回退svn
查看>>
UNIX Domain Socket IPC - blueliuyun的专栏 - 博客频道 - CSDN.NET
查看>>
Linux系统启动流程
查看>>
Linux mmap函数简介
查看>>
poj_1236 强连通分支
查看>>
Scala中的协变,逆变,上界,下界等
查看>>
进程间通信方式
查看>>
bluetooth-蓝牙事件监听
查看>>
Iaas-cloudstack概念
查看>>
Ambari安装Hadoop集群
查看>>
WCF学习之旅—基于ServiceDebug的异常处理(十七)
查看>>
CLREX
查看>>
http与https的区别以及https的加密原理
查看>>
小邵教你玩转Generator+co/async await
查看>>
防止重复提交
查看>>