• 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('
    ')[0].split('来自:')[1]  
    driver.quit  

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

    importsys  
    reload(sys)  
    sys.setdefaultencoding('utf-8')  
  • 相关阅读:
    sudo: no tty present and no askpass program specified 解决方法
    中间件kingshard入门(一):基本安装
    mysql主从配置
    haproxy+keepalive双主高可用实现负载均衡
    lvs负载均衡配置
    docker可视化集中管理工具shipyard安装部署
    安装nodejs
    redis数据导入与导出以及配置使用
    搭建ss5环境
    thinkphp5+python.apscheduler实现计划任务
  • 原文地址:https://www.cnblogs.com/vhills/p/7388387.html
Copyright © 2020-2023  润新知