浏览器抓取网页(Python3实现抓取javascript动态生成的html网页功能结合实例形式分析)

优采云 发布时间: 2021-09-18 17:16

  浏览器抓取网页(Python3实现抓取javascript动态生成的html网页功能结合实例形式分析)

  本文文章主要介绍了Python 3捕获JavaScript动态生成的HTML网页的功能,并以实例的形式分析了Python 3使用selenium库捕获JavaScript动态生成的HTML网页元素的相关操作技巧。有需要的朋友可以参考

  本文描述了Python3获取JavaScript动态生成的HTML网页的功能。与您分享,供您参考,如下所示:

  使用urllib获取网页时,只能读取网页的静态源文件,但无法捕获JavaScript生成的内容

  原因是urlib即时抓取,不等待JavaScript加载延迟,因此urlib无法读取页面中JavaScript生成的内容

  真的没有办法读取JavaScript生成的内容吗?没有

  这里有一个python库:selenium。本文使用的版本是2.4 4.0

  首先安装:

  pip install -U selenium

  以下是三个示例来说明其用法:

  [示例0]

  打开Firefox浏览器

  加载具有给定URL地址的页面

  from selenium import webdriver

browser = webdriver.Firefox()

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

  [示例1]

  打开Firefox浏览器

  加载百度主页

  搜索“selenium HQ”

  关闭浏览器

  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]

  SeleniumWebDriver通常用于测试网络程序。以下是使用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 3如何捕获由JS动态生成的HTML网页的函数实现示例的详细信息。请多关注其他相关文章

  

  声明:这篇文章原创发表在PHP中文网站上。请注明转载来源。谢谢你的尊重!如果您有任何问题,请与我们联系

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线