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

优采云 发布时间: 2022-03-05 16:18

  php抓取网页数据实例(

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

  python3爬取javascript动态生成的html网页示例

  更新时间:2017年8月22日11:57:23 作者:罗兵

  本文文章主要介绍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/')

  【示例一】

  打开火狐浏览器

  加载百度主页

  搜索“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套接字编程技巧总结》、《Python数据结构与算法教程》、 《Python函数使用》技巧总结》、《Python字符串操作技巧总结》、《Python入门与进阶经典教程》和《Python文件和目录操作技巧总结》

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

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线