Python爬蟲(二十三)_selenium案例:動態類比頁面點擊

來源:互聯網
上載者:User

標籤:zip   import   har   case   ant   rgs   html   page   bs4   

本篇主要介紹使用selenium類比點擊下一頁,更多內容請參考:Python學習指南

#-*- coding:utf-8 -*-import unittestfrom selenium import webdriverfrom selenium.webdriver.common.keys import Keysfrom bs4 import BeautifulSoupimport timeclass douyuSelenium(unittest.TestCase):    #初始化方法    def setUp(self):        self.driver = webdriver.PhantomJS(service_args=['--ignore-ssl-errors=true', '--ssl-protocol=any'])    #具體的測試案例方法,一定要以test開頭    def testDouyu(self):        self.driver.get("http://www.douyu.com/directory/all")        while True:            #指定xml解析            soup = BeautifulSoup(self.driver.page_source, "lxml")            #返回當前頁面的所有房間標題列表和觀眾人數列表            titles = soup.find_all('h3' , {'class':"ellipsis"})            print(len(titles))            nums = soup.find_all('span', {'class': "dy-num fr"})                # #使用zip()函數把列表合并,並建立一個遠相對的列表[(1, 2), (3, 4)]            for title, num in zip(nums, titles):                print(u'觀眾人數: '+num.get_text().strip(), u'\t房間標題: '+title.get_text().strip())            #page_source.find()未找到內容則返回-1            if self.driver.page_source.find('shark-pager-disable-next') != -1:                break            self.driver.find_element_by_class_name('shark-pager-next').click()            time.sleep(1)    # 退出時的清理方法    def tearDown(self):        print("載入完成...")        self.driver.quit()if __name__ == '__main__':    unittest.main()

Python爬蟲(二十三)_selenium案例:動態類比頁面點擊

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.