抓取网页生成电子书(Python标准库unittest办法读取了吗?非也!(图) )

优采云 发布时间: 2022-02-17 23:10

  抓取网页生成电子书(Python标准库unittest办法读取了吗?非也!(图)

)

  使用urllib等爬取网页只能读取网页的静态源文件,不能读取javascript生成的内容。

  原因是因为urllib是瞬时爬取的,不会等待javascript的加载延迟,所以页面中javascript生成的内容无法被urllib读取。

  真的没有办法读取javascript生成的内容吗?也不是!

  本文将介绍一个python库:selenium,最新版本为2.44.0

  先安装:

  pip install -U selenium

  以下三个例子说明了它的用法:

  【示例0】

  1 from selenium import webdriver

2

3 browser = webdriver.Firefox()

4 browser.get('http://www.baidu.com/')

  【示例一】

   1 from selenium import webdriver

2 from selenium.webdriver.common.keys import Keys

3

4 browser = webdriver.Firefox()

5

6 browser.get('http://www.baidu.com')

7 assert '百度' in browser.title

8

9 elem = browser.find_element_by_name('p') # Find the search box

10 elem.send_keys('seleniumhq' + Keys.RETURN) # 模拟按键

11

12 browser.quit()

  【示例2】

  Selenium WebDriver 通常用于测试网络程序。下面是一个使用 Python 标准库 unittest 的示例:

   1 import unittest

2

3 class BaiduTestCase(unittest.TestCase):

4

5 def setUp(self):

6 self.browser = webdriver.Firefox()

7 self.addCleanup(self.browser.quit)

8

9 def testPageTitle(self):

10 self.browser.get('http://www.baidu.com')

11 self.assertIn('百度', self.browser.title)

12

13 if __name__ == '__main__':

14 unittest.main(verbosity=2)

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线