Python selenium+phantomjs的js动态爬取

Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE、Mozilla Firefox、Chrome等。
Phantom JS是一个服务器端的 JavaScript API 的 WebKit。其支持各种Web标准: DOM 处理, CSS 选择器, JSON, Canvas, 和 SVG。

 

基于js动态加载内容爬取的另一种方法——模拟浏览器

安装过程略。

 

下面写上最简单基础的

from selenium import webdriver


driver = webdriver.PhantomJS()

driver.get('http://www.baidu.com/')



print driver.title
driver.quit()

输出结果:

 

这样最基本的实现能解决了。

 

参考

http://www.cnblogs.com/front-Thinking/p/4321720.html

http://blog.csdn.net/qinglu000/article/details/52240508

——————

遇到问题————phantomjs没有输出,输出看不到内容

fromseleniumimportwebdriver  
    
importsys  
reload(sys)  
sys.setdefaultencoding('utf-8')  
    
driver=webdriver.PhantomJS() #这要可能需要制定phatomjs可执行文件的位置  
driver.get("http://www.ip.cn/125.95.26.81")  
#print driver.current_url  
#print driver.page_source  
printdriver.find_element_by_id('result').text.split('\n')[0].split('来自:')[1]  
driver.quit  

就是像开始因为编码问题加入这几行代码,输出看不到内容,一直以为哪里出错了,一番折腾删除后正常显示。

importsys  
reload(sys)  
sys.setdefaultencoding('utf-8')  

posted on 2017-08-18 10:54  vhills  阅读(257)  评论(0编辑  收藏  举报