爬蟲之動態HTML處理(Selenium與PhantomJS )動態頁面模擬點擊


動態頁面模擬點擊

#!/usr/bin/env python # -*- coding:utf-8 -*- # python的測試模塊 import unittest from selenium import webdriver from bs4 import BeautifulSoup class douyuSelenium(unittest.TestCase): # 初始化方法 def setUp(self): self.driver = webdriver.PhantomJS() #具體的測試用例方法,一定要以test開頭 def testDouyu(self): self.driver.get('http://www.douyu.com/directory/all') while True: # 指定xml解析 soup = BeautifulSoup(driver.page_source, 'xml') # 返回當前頁面所有房間標題列表 和 觀眾人數列表 titles = soup.find_all('h3', {'class': 'ellipsis'}) 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 driver.page_source.find('shark-pager-disable-next') != -1: break # 模擬下一頁點擊 self.driver.find_element_by_class_name('shark-pager-next').click() # 退出時的清理方法 def tearDown(self): print '加載完成...' self.driver.quit() if __name__ == "__main__": unittest.main()


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM