使用python抓取js动态加载的网页
来源:互联网 发布:windows server cd 2 编辑:程序博客网 时间:2024/05/17 01:11
我们在做网页抓取的时候,一般来说使用urllib和urllib2就能满足大部分需求。
但是有时候我们遇见那种使用js动态加载的网页。就会发现urllib只能抓出一个部分内容空白的网页。就像下面百度图片的结果页:
审查元素之后,。发现百度图片中,显示图片的div为:pullimages
这个div里面的内容是动态加载的。而使用urllib&urllib2是抓取不到的。
要抓取动态加载的元素,首先考虑使用selenium来调用浏览器进行抓取。
而我们运行的环境是linux,最理想的方法是在无界面情况下进行抓取。
所以使用selenium+phantomjs来进行无界面抓取
phantomjs是什么呢?它是一个基于webkit内核的无头浏览器,即没有UI界面,即它就是一个浏览器
selenium和phantomjs的安装配置可以google,这里就略过不谈了
代码如下:
from selenium import webdriver
driver = webdriver.PhantomJS(executable_path='/bin/phantomjs/bin/phantomjs')#如果不方便配置环境变量。就使用phantomjs的绝对路径也可以
driver.get('http://image.baidu.com/i?ie=utf-8&word=%E5%91%A8%E6%9D%B0%E4%BC%A6')#抓取了百度图片,query:周杰伦
driver.page_source #这就是返回的页面内容了,与urllib2.urlopen().read()的效果是类似的,但比urllib2强在能抓取到动态渲染后的内容。
driver.quit()
到这里。就抓取动态页面成功了。
- 使用python抓取js动态加载的网页
- 使用python抓取js动态加载的网页
- 使用Python+selenium+BeautifulSoup抓取动态网页的关键信息
- python 抓取动态网页的问题
- python phantomjs+ selenium2 抓取动态js网页(版本python2.7+)
- python抓取js加载的数据(phantomjs)
- 使用python抓取网页
- (未完成)python---抓取动态网页
- Python之抓取动态网页
- Python Scrapy抓取动态网页
- 使用python抓取网页上的信息
- Python使用Selenium + PhantomJS抓取动态网页:今日头条
- Python抓取网页动态数据——selenium webdriver的使用
- Python使用Selenium和PhantomJS解析动态JS的网页
- Python使用Selenium和PhantomJS解析动态JS的网页
- 使用Python抓取网页信息
- python使用urllib2抓取网页
- 使用Python抓取网页信息
- suricata简介
- MyEclipse2014 general无选项的问题
- 代理模式与spring的AOP
- 持续交付-发布可靠软件的系统方法
- Android属性动画完全解析(中),ValueAnimator和ObjectAnimator的高级用法
- 使用python抓取js动态加载的网页
- 笔试题算法
- EventBus(三)---Fragment案例通讯应用
- loadrnner脚本关联之手动关联
- 《从零开始学Swift》学习笔记(Day 24)——枚举
- Qt学习历程(一):Qt5.5.1(mingw)静态编译步骤
- JS,Jquery获取各种屏幕的宽度和高度
- 解决Android 弹出软键盘将整个界面上移的问题
- Struts2-国际化