js 抓取网页内容(本文实例讲述Python3实现抓取javascript动态生成的html网页功能)
优采云 发布时间: 2021-12-15 12:34js 抓取网页内容(本文实例讲述Python3实现抓取javascript动态生成的html网页功能)
本文描述了Python3获取JavaScript动态生成的HTML网页的功能。与您分享,供您参考,如下所示:
使用urllib获取网页时,只能读取网页的静态源文件,但无法捕获JavaScript生成的内容
原因是urlib即时抓取,不等待JavaScript加载延迟,因此urlib无法读取页面中JavaScript生成的内容
真的没有办法读取JavaScript生成的内容吗?没有
这里有一个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浏览器
加载百度主页
搜索“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的更多信息,感兴趣的读者可以查看本网站上的主题:python进程和线程操作技能摘要、python套接字编程技能摘要、python数据结构和算法教程、python函数使用技能摘要、,Python字符串操作技能概述介绍和高级Python的经典教程以及Python文件和目录操作技能概述
我希望本文对python编程有所帮助