python抓取动态网页(Python3实现抓取javascript动态生成的html网页功能结合实例)

优采云 发布时间: 2021-11-01 17:22

  python抓取动态网页(Python3实现抓取javascript动态生成的html网页功能结合实例)

  本文文章主要介绍了Python3中抓取javascript动态生成的html网页的功能,结合Python3中使用selenium库抓取javascript动态生成的html网页元素,分析相关操作技巧例子。有需要的朋友可以参考

  本文以Python3为例,实现抓取javascript动态生成的html网页的功能。分享给大家,供大家参考,如下:

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

  原因是urllib被瞬间抓取了。它不等待javascript加载延迟,因此页面中javascript生成的内容无法被urllib读取。

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

  这里是一个python库:selenium,本文使用的版本是2.44.0

  先安装:

   pip install -U selenium

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

  [示例 0]

  打开火狐浏览器

  使用给定的 url 地址加载页面

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

  [示例 1]

  打开火狐浏览器

  加载百度主页

  搜索“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 常用于测试网络程序。以下是使用 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相关内容感兴趣的读者,请查看本站专题:《Python进程与线程操作技巧总结》、《Python Socket编程技巧总结》、《Python数据结构与算法教程》 》、《Python函数使用技巧总结》、《Python字符串操作技巧总结》、《Python入门及高级经典教程》、《Python文件和目录操作技巧总结》

  希望这篇文章对你的 Python 编程有所帮助。

  以上是Python3中javascript动态生成html网页抓取功能示例的详细内容。更多详情请关注其他相关html中文网站文章!

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线