因为data js一般会在document load之后加载,所以需要先将js代码执行后才可以做html parse,我是用的selenium。其实还有很多,lxml,Phantomjs等等。
关于selenium
关于selenium是thoughtwork开发,需要借助内在wek-kit资源调用实现了浏览器渲染。说白了就是不挺得打开浏览器,从打开的浏览器中抓取html。
使用selenium
sudo pip install -U selenium安装
需要先确定引用dirver
chromedriver = "/Users/apple/Downloads/chromedriver"
需要先下载到Python的机器上sites.google.com/a/chromium.org/chromedriver/home
os.environ["webdriver.chrome.driver"] = chromedriver
BrowserObj_dirver = webdriver.Chrome(chromedriver)
BrowserObj_dirver保存了从浏览器获取来的所有信息。
html = BrowserObj_dirver.page_source#获取渲染后页面html
具体api参考google,baidu
参考工具selenium