欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python3實現(xiàn)抓取javascript動態(tài)生成的html網(wǎng)頁功能示例

 更新時間:2017年08月22日 11:57:23   作者:羅兵  
這篇文章主要介紹了Python3實現(xiàn)抓取javascript動態(tài)生成的html網(wǎng)頁功能,結合實例形式分析了Python3使用selenium庫針對javascript動態(tài)生成的HTML網(wǎng)頁元素進行抓取的相關操作技巧,需要的朋友可以參考下

本文實例講述了Python3實現(xiàn)抓取javascript動態(tài)生成的html網(wǎng)頁功能。分享給大家供大家參考,具體如下:

用urllib等抓取網(wǎng)頁,只能讀取網(wǎng)頁的靜態(tài)源文件,而抓不到由javascript生成的內(nèi)容。

究其原因,是因為urllib是瞬時抓取,它不會等javascript的加載延遲,所以頁面中由javascript生成的內(nèi)容,urllib讀取不到。

那由javascript生成的內(nèi)容就真的沒有辦法讀取了嗎?非也!

這里要介紹一個python庫:selenium,本文使用的版本是 2.44.0

先安裝:

pip install -U selenium

下面用三個例子來說明其用法:

【例0】

打開一個Firefox瀏覽器
載入所給url地址的頁面

from selenium import webdriver
browser = webdriver.Firefox()
browser.get('http://www.baidu.com/')

【例1】

打開一個Firefox瀏覽器
載入百度主頁
搜索 “seleniumhq”
關閉瀏覽器

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
browser = webdriver.Firefox()
browser.get('http://www.baidu.com')
assert '百度' in browser.title
elem = browser.find_element_by_name('p') # Find the search box
elem.send_keys('seleniumhq' + Keys.RETURN) # 模擬按鍵
browser.quit()

【例2】

Selenium WebDriver 常用于網(wǎng)絡程序的測試。 下面是一個使用Python標準庫 unittest 的例子:

import unittest
class BaiduTestCase(unittest.TestCase):
  def setUp(self):
    self.browser = webdriver.Firefox()
    self.addCleanup(self.browser.quit)
  def testPageTitle(self):
    self.browser.get('http://www.baidu.com')
    self.assertIn('百度', self.browser.title)
if __name__ == '__main__':
  unittest.main(verbosity=2)

更多關于Python相關內(nèi)容感興趣的讀者可查看本站專題:《Python進程與線程操作技巧總結》、《Python Socket編程技巧總結》、《Python數(shù)據(jù)結構與算法教程》、《Python函數(shù)使用技巧總結》、《Python字符串操作技巧匯總》、《Python入門與進階經(jīng)典教程》及《Python文件與目錄操作技巧匯總

希望本文所述對大家Python程序設計有所幫助。

相關文章

最新評論