url = 'https://m.weibo.cn/status/H579C8s81?ref=feedsdk&type=comment&jumpfrom=weibocom'
html = requests.get(url).text
soup = BeautifulSoup(html,'lxml')
js_code = soup.find_all("script")[1].text
打印js_code后發(fā)現(xiàn)嫂用,想要的值在變量render_data中,由于js_code中有好幾個變量丈冬,所以要考慮怎么取到render_data
方法是:將要取的變量名"$render_data"拼接到j(luò)s_code后面嘱函,這樣就可以通過js2py.eval_js()方法直接取出來了。
new_js_code = js_code +'$render_data'
res = js2py.eval_js(new_js_code)
res = res.to_dict()
最后埂蕊,得到的就是一個字典了往弓。
在這里遇見了坑疏唾,訪問不同的網(wǎng)站可能會有類似的報錯:ReferenceError: document is not defined
原因就在js中,需要自己加上沒有定義的變量函似。