Python通过PhantomJS获取JS渲染后的网页源代码

Posted 昨、夜星辰

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python通过PhantomJS获取JS渲染后的网页源代码相关的知识,希望对你有一定的参考价值。

新建一个文件,命名为test.js,内容如下:

var page = require(‘webpage‘).create(),
system = require(‘system‘),
address;

if (system.args.length === 1) {
    phantom.exit(1);
} else {
    address = system.args[1];
    page.open(address, function(status) {
        if (status !== ‘success‘) {
            phantom.exit();
        } else {
            var sc = page.evaluate(function() {
                return document.body.innerhtml;
            });
            window.setTimeout(function() {
                console.log(sc);
                phantom.exit();
            }, 1000);
        }
    });
};

新建一个文件,命名为test.py,内容如下:

# -*- coding: utf-8 -*-
import subprocess

def get_html(url):
    cmd = phantomjs test.js "%s" % url
    stdout, stderr = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE).communicate()
    print stderr
    print stdout

if __name__ == __main__:  
    url = https://mm.taobao.com/self/model_card.htm?user_id=687471686
    get_html(url)

执行下列命令:

python test.py

如果你能看到源代码,就表示没问题了。执行速度可能有点慢,请耐心等待。

以上是关于Python通过PhantomJS获取JS渲染后的网页源代码的主要内容,如果未能解决你的问题,请参考以下文章

phantomjs 如何获得 JS渲染后的页面?

PHP 爬虫体验 - 使用PHP + puppeteer爬取js动态渲染的页面内容

java爬虫 异步加载数据怎么解决

python爬虫 selenium+phantomjs动态解析网页,加载页面成功,返回空数据

Python爬虫利器四之PhantomJS的用法

Python爬虫利器四之PhantomJS的用法