使用python+phantomjs抓取动态页面

前一段时间公司需要爬取部分web页面的数据使用。但是页面中的主要数据是ajax load出来的,传统的抓取方法是拿不到数据的。后来在网上发现了phantomjs,在无界面的情况下运行js,渲染dom。用这个工具抓取ajax load出来的数据再方便不过啦。

系统环境:CentOS release 6.5 (Final)

phantomjs版本:1.9.8

  • phantomjs抓取加载完整的dom结构。说到phantomjs怎么把数据传递给处理程序,我看到网上很多人是写一个本地文件,然后具体的处理程序再读取那个文件进行处理。感觉这种方式太麻烦了,干脆将数据打印到到标准输出中,然后处理程序从标准输出中读取数据。

  • 用python获取数据。然后就开始处理了。具体的处理逻辑就不展示了。

时间: 2024-10-04 21:57:16

使用python+phantomjs抓取动态页面的相关文章

python scrapy爬取动态页面

preface:最近学习工作之外,有个异性朋友需要爬取动态网页的要求,输入关键词爬取某个专利网站在该关键词下的一些专利说明.以往直接python urllib2可破,但是那只是对于静态网页可破,但是对于用js等其他的生成的动态网页的话,则貌似不行(没试过).然后在网上找了些资料,发现scrapy结合selenium包好像可以.(之所以这么说,暂时卤主也还没实现,先记录下来.) #=====================根据官网中简单的介绍作个人理解=======================

python --selenium+phantomjs爬取动态页面广告源码

背景:利用爬虫,爬取网站页面广告元素,监控爬取元素的数目,定时发送监控邮件 #!/usr/bin/env python2.7 # -*- coding: utf-8 -*- ''' @xiayun @[email protected] #爬取网站内容,利用phantomjs:IP代理+修改UA+动态页面执行JS ''' from selenium import webdriver from selenium.webdriver.common.desired_capabilities import

c#抓取动态页面WebBrowser

在ajax横行的年代,很多网页的内容都是动态加载的,而我们的小爬虫抓取的仅仅是web服务器返回给我们的html,这其中就 跳过了js加载的部分,也就是说爬虫抓取的网页是残缺的,不完整的,下面可以看下博客园首页 从首页加载中我们看到,在页面呈现后,还会有5个ajax异步请求,在默认的情况下,爬虫是抓取不到这些ajax生成的内容的, 这时候要想获取就必须调用浏览器的内核引擎来下载这些动态页面,目前内核引擎三足鼎立. Trident: 也就是IE内核,WebBrowser就是基于该内核,但是加载性内比

selenium+phantomjs爬取动态页面数据

1.安装selenium pip/pip3 install selenium 注意依赖关系 2.phantomjs for windows 下载地址:http://phantomjs.org/download.html phantomjs-2.1.1-windows 仅支持64位系统 phantomjs-1.9.7-windows 支持32位系统,更早的版本没测试过 把下载好的安装包bin目录下的phantomjs.exe文件拷贝到python安装目录下的Scripts目录下 3.模拟浏览器操作

Python爬虫--抓取单一页面上的图片文件学习

#!/usr/bin/python import sys #正则表达式库 import re import urllib def getHtml(url):     page = urllib.urlopen(url)     html = page.read()     return html      def getImg(html):     reg = r'src="(.=?\.jpg)"'     imgre = re.compile(reg)     imglist = r

【Python】Python抓取分享页面的源代码示例

本文章是关于利用Python方法来抓取某网站分享页面中的源码方法示例.需要大家注意的是Python抓取分享页面的源代码示例,是要在运行时导入BeautifulSoup.py文件后才可以使用. Python抓取分享页面的源代码示例,需要用到python urllib2模块方法,及BeautifulSoup模块. 源码如下: #coding:utf-8 import urllib2 from BeautifulSoup import BeautifulSoup ''' www.iplaypy.com

[Python爬虫] 之九:Selenium +phantomjs抓取活动行中会议活动(单线程抓取)

思路是这样的,给一系列关键字:互联网电视:智能电视:数字:影音:家庭娱乐:节目:视听:版权:数据等.在活动行网站搜索页(http://www.huodongxing.com/search?city=%E5%85%A8%E5%9B%BD&pi=1)的文本输入框中分别输入每个关键字,在搜索结果中抓取需要的数据. 首先通过Selenium+IE驱动得到每个关键字搜索结果的url(首页,因为以后各个页的url就是索引不一样)和总页数,保存的列表里面.然后再循环列表,用Selenium +phantomj

[Python爬虫] 之十一:Selenium +phantomjs抓取活动树中会议活动

最近在抓取活动树网站 (http://www.huodongshu.com/html/find.html) 上数据时发现,在用搜索框输入中文后,点击搜索,phantomjs抓取数据怎么也抓取不到,但是用IE驱动就可以找,后来才发现了原因. 例如URL: http://www.huodongshu.com/html/find_search.html?search_keyword=数字, phantomjs抓取的内存中url变成了http://www.huodongshu.com/html/find

java抓取动态生成的网页

最近在做项目的时候有一个需求:从网页面抓取数据,要求是首先抓取整个网页的html源码(后期更新要使用到).刚开始一看这个简单,然后就稀里哗啦的敲起了代码(在这之前使用过Hadoop平台的分布式爬虫框架Nutch,使用起来是很方便,但是最后因为速度的原因放弃了,但生成的统计信息在后来的抓取中使用到了),很快holder.html和finance.html页面成功下载完成,然后解析完holder.html页面之后再解析finance.html,然后很沮丧的发现在这个页面中我需要的数据并没有在html