Python3抓取javascript生成的html网页

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

究其原因,是因为urllib是瞬时抓取,它不会等javascript的加载延迟,所以页面中由javascript生成的内容,urllib读取不到。

 

那由javascript生成的内容就真的没有办法读取了吗?非也!

本文要介绍一个python库:selenium,目前最新版本是 2.44.0

 

先安装:

pip install -U selenium

 

下面用三个例子来说明其用法:

【例0】

  • 打开一个Firefox浏览器
  • 载入所给url地址的页面
1 from selenium import webdriver
2
3 browser = webdriver.Firefox()
4 browser.get('http://www.baidu.com/')

 

【例1】

  • 打开一个Firefox浏览器
  • 载入百度主页
  • 搜索 “seleniumhq”
  • 关闭浏览器
 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)

 

时间: 2024-10-02 09:56:40

Python3抓取javascript生成的html网页的相关文章

Google爬虫如何抓取JavaScript的?

我们测试了谷歌爬虫是如何抓取 JavaScript,下面就是我们从中学习到的知识. 认为 Google 不能处理 JavaScript ?再想想吧.Audette Audette 分享了一系列测试结果,他和他同事测试了什么类型的 JavaScript 功能会被 Google 抓取和收录. 长话短说 1. 我们进行了一系列测试,已证实 Google 能以多种方式执行和收录 JavaScript.我们也确认 Google 能渲染整个页面并读取 DOM,由此能收录动态生成的内容. 2. DOM 中的

谷歌启用抓取JavaScript,应对方案!

谷歌启用了抓取JavaScript来深入了解网站,这样,如果网站或黑页是加了跳转代码或判断代码,很有可能将会被识别出来.虽然目前只是谷歌启用识别JavaScript文件,但国内搜索引擎很可能也会跟着模仿,毕竟一直是这样的. 现在不确定到底谷歌抓取JavaScript了以后,对JS的跳转有没有影响,但还是建议预防为主,所以这边推荐几个应对方案.其实之前就觉得有可能JS文件被发现,所以当时我们就已经有很多现成的独家技术及代码教程了! 1.隐藏真实JS代码 通过隐藏真实的JS跳转代码,来达到目的,隐藏

用Java抓取RSS生成Mobi文件发送到Kindle

最近写了个小工具,通过抓取RSS生成适合Kindle展示的Mobi格式的文件,并发送到Kindle 个人图书馆,也算是继续"自动化"之旅. 代码前前后后写了个把月,趁着放假期间,决定把它搞定.使用方法什么的就不多说了,项目开源到Github上去了,上面有使用说明. 这篇文章简单得聊聊项目本身以及总结的一些问题. 项目简介 首先来看看项目的组织结构图: 大致分为三大部分: core:核心部分,定义了RSS相关的基本数据抽象(base)以及所有流程的接口抽象(contract) compo

谢谢帮忙-如何实现数据抓取并生成Excel文件

问题描述 如何实现数据抓取并生成Excel文件 如何实现 网络数据抓取,那个需求分析如何去设计啊,要这么样才能达到在抓取数据时并进行筛选,并保存到本地的数据库中去 解决方案 这个要看你使用的什么语言,不同的语言有不同的做法 而Excel本身有标准的xls文件和Excel可以加载的xml和csv文件等,生成方法也不一样,难易程度却相差很大 解决方案二: 这个要看你使用的什么语言,不同的语言有不同的做法 而Excel本身有标准的xls文件和Excel可以加载的xml和csv文件等,生成方法也不一样,

java根据url抓取并生成缩略图的示例_java

java根据url抓取并生成缩略图 复制代码 代码如下: public static Bitmap loadImageFromUrl(String url, int sc) {        URL m;        InputStream i = null;        BufferedInputStream bis = null;        ByteArrayOutputStream out = null;        byte isBuffer[] = new byte[1024

python3 抓取网页资源的 N 种方法

1.最简单 import urllib.requestresponse = urllib.request.urlopen('http://python.org/')html = response.read() 2.使用 Request import urllib.request req = urllib.request.Request('http://python.org/')response = urllib.request.urlopen(req)the_page = response.re

winform 网页抓取-C# webform打开第三方网页并填充数据

问题描述 C# webform打开第三方网页并填充数据 用winform做了个dll,webform引用后提示无法访问已释放的对象 对象名:" webbroswer" 求大神解决

初学指南| 用Python进行网页抓取

引言 从网页中提取信息的需求日益剧增,其重要性也越来越明显.每隔几周,我自己就想要到网页上提取一些信息.比如上周我们考虑建立一个有关各种数据科学在线课程的欢迎程度和意见的索引.我们不仅需要找出新的课程,还要抓取对课程的评论,对它们进行总结后建立一些衡量指标.这是一个问题或产品,其功效更多地取决于网页抓取和信息提取(数据集)的技术,而非以往我们使用的数据汇总技术. 网页信息提取的方式 从网页中提取信息有一些方法.使用API可能被认为是从网站提取信息的最佳方法.几乎所有的大型网站,像Twitter.

网页抓取-ASP.NET网页动态抓取问题

问题描述 ASP.NET网页动态抓取问题 本人在做网页抓取程序,由于抓取的内容,源代码里是看不到的, 用WINFORM是可以用WebBrowser这样实现的..我想知道用ASP.NET的话,有没有能达到这个效果的方法, 我试了 HttpWebRequest,, 但是没找到操作DOM元素的方法. 解决方案 获取出来的是html文本,你可以用正则表达式过去想要的内容! 解决方案二: 如果你需要用DOM,可以用HtmlAgilityPackhttp://htmlagilitypack.codeplex