目的:使用selenium抓取数据。
抓取网页数据可以有多种技术方法(这里只列几种):
1.java httpclient+jsoup(对js基本无支持),类似于wget和jsoup。
2.分析对方网站暴露出的接口
3.htmlunit
4.selenium
5.webkit(没有测试过,不过听说chrome内核也是基于webkit的,具体细节不明)
对于以上各种方法的适用场景:
方法1:适合那种禁用js和css就能得到所有你需要的数据的网站(不支持js动态渲染)。
方法2:有时虽然能够找出对方网站暴露的接口。
方法3:可用,但是对js和CSS支持很差(同样的配置,有些网站OK,有些网站死结)。
方法4:可用,但效率比较低(值得理解,本身是为测试开发的框架)。
实际应用中根据自己项目的需要进行取舍,没有一个通用的解决方案。
本人一直讨厌分析网站的接口,一直在selenium上下工夫,希望大幅提高其性能,希望开发一个比较通用的爬虫框架。
使用FirefoxDriver,尝试过各种about:config中的配置(包括内存的和缓存的优化),始终不能达到一个理想的效果,慢。
按照selenium官方的说法:在速度方面,HtmlunitDriver > ChromeDriver > FirefoxDriver
但是Htmlunit对js支持较差,就没尝试。
开始尝试ChromeDriver.
环境:centos6.6 + chrome 最新稳定版。
很多人说centos6无法安装chrome。
但是这里可以解决:http://jingyan.baidu.com/article/4b52d702790ddcfc5c774b17.html
System.setProperty("webdriver.chrome.driver","/home/oscar/chrome/chromedriver");
启动chromedriver的时候会报:“/usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.14' not found”
这里能够解决:http://www.aliyun.com/zixun/content/2_6_518744.html
再起ChromeDriver程序,比较快速稳定(跑了一夜测试程序,没有什么大的问题,目测比FirefoxDriver快1.5-2倍,这个速度很满意了)。
接下来优化其配置信息,看能不能再次提升性能://To be done!!
相关推荐
本文将详细讨论如何使用Java语言来抓取网页数据,包括两种主要方法:直接抓取原网页内容和处理网页中的JavaScript返回数据。 首先,让我们探讨**抓取原网页**的方法。在Java中,我们可以使用`java.net.URL`类来建立...
3. **Chromedriver**: Chromedriver是Chrome浏览器的驱动程序,它实现了WebDriver协议,使Selenium能与Chrome通信。为了运行多个浏览器实例,我们需要多个独立的Chromedriver实例。 4. **PhantomJS**: PhantomJS是...
动态网页数据抓取是现代互联网应用中不可或缺的一部分,它涉及到网络爬虫技术、网页解析以及数据存储等多个领域。本文将详细讲解如何有效地抓取动态网页数据,并将其导入数据库。 首先,我们要理解动态网页的特性。...
这对于自动化测试和网页抓取来说,提供了相对隐蔽的环境,因为有些网站会通过检测`webdriver`字段来阻止Selenium驱动的自动化行为。 Chromedriver,全称为Chrome WebDriver,是一个独立的可执行文件,它作为中间件...
在IT行业中,自动化测试和网页自动化操作经常使用到一种名为Selenium的工具。Selenium是一个强大的Web应用程序测试...通过上述步骤,你可以在Python程序中使用Selenium驱动Chrome和Edge浏览器,轻松访问和操作网页。
在提供的压缩包`SeleniumDemo`中,你将找到完整的C#源码示例,这些示例可能包含如何定位网页元素、执行点击操作、处理页面跳转、填充表单和收集数据等内容。代码中应有详细的注释,帮助你理解每个步骤的作用。 总之...
"chromedriver.exe"文件是用于驱动Google Chrome浏览器的WebDriver实现,它是Selenium与Chrome浏览器通信的桥梁。在Windows平台上,我们需要将这个可执行文件放在系统的PATH环境变量下,或者与Python脚本同目录,...
用Selenium进行网络抓取Web爬网是在相对较短的时间内获取大量数据的简便方法脚步:- 使用pip安装Selenium pip3安装Selenium下载Chrome驱动程序:要下载Web驱动程序,您可以选择以下任意一种方法-您可以从以下链接...
2. 网页抓取:可用于爬虫和数据抓取,模拟浏览器访问网页并提取所需数据。 3. 脚本执行:开发者可以使用chromedriver.exe执行浏览器相关的任务,如页面截图、页面渲染和自动化交互。 【其他说明】 1. 版本兼容性:...
它允许开发者通过WebDriver协议控制浏览器的行为,例如打开网页、填写表单、点击元素等,这对于自动化测试、网页抓取和数据分析非常有用。 ChromeDriver的安装和使用相当简单。首先,需要将解压后的"chromedriver....
本文将详细介绍如何使用Python结合Selenium实现网页自动化抓取,并介绍如何与BeautifulSoup、MongoDB等工具协同工作,提高数据处理效率。 #### 二、Python Selenium简介 ##### 2.1 Selenium简介 Selenium是一个...
Selenium支持多种浏览器,包括Chrome、Firefox、IE等,而这里特别提到了Firefox驱动,即GeckoDriver。 Selenium的安装通常需要两个主要部分:Selenium库和对应的浏览器驱动。在Python中,我们可以通过pip这个包管理...
Selenium需要一个WebDriver来控制浏览器,这里提供了不同平台下的ChromeDriver(chromedriver_linux64, chromedriver_mac_64, chromedriver.exe),它们对应于Linux、Mac OS和Windows操作系统,用于驱动Chrome浏览器...
通过这种方式,你可以利用Selenium WebDriver实现自动化测试、数据抓取、网页模拟登录等各种功能。在实际项目中,确保正确配置驱动程序的路径,并根据需求选择合适的浏览器。同时,注意浏览器的版本更新,因为新的...
其中数据的爬取是通过python调用selenium驱动Chrome浏览器实现网页内容的抓取! 启动爬虫celery进程:python manage.py celery worker 注意:celery框架里面有个方法和python3.7的关键字冲突,所以用python3.6吧!...
2. 网页抓取:可用于爬虫和数据抓取,模拟浏览器访问网页并提取所需数据。 3. 脚本执行:开发者可以使用chromedriver执行浏览器相关的任务,如页面截图、页面渲染和自动化交互。 【其他说明】 1. 版本兼容性:...
本文将详细介绍如何使用 Selenium 在 Python 环境下打开指定的 Chrome 账号,这对于需要模拟用户登录状态进行自动化测试或数据抓取的应用场景非常有用。 #### 获取 User Data 路径 在使用 Selenium 打开指定 ...
2. 网页抓取:可用于爬虫和数据抓取,模拟浏览器访问网页并提取所需数据。 3. 脚本执行:开发者可以使用chromedriver.exe执行浏览器相关的任务,如页面截图、页面渲染和自动化交互。 【其他说明】 1. 版本兼容性:...
2. 网页抓取:可用于爬虫和数据抓取,模拟浏览器访问网页并提取所需数据。 3. 脚本执行:开发者可以使用chromedriver.exe执行浏览器相关的任务,如页面截图、页面渲染和自动化交互。 【其他说明】 1. 版本兼容性:...