如何用python爬取js动态生成内容的页面

JavaScript023

如何用python爬取js动态生成内容的页面,第1张

抓取js动态生成的内容的页面有两种基本的解决方案

1用dryscrape库动态抓取页面

js脚本是通过浏览器来执行并返回信息的,所以,抓取js执行后的页面,一个最直接的方式就是用python模拟浏览器的行为。WebKit 是一个开源的浏览器引擎,python提供了许多库可以调用这个引擎,dryscrape便是其中之一,它调用webkit引擎来处理包含js等的网页!

2 selenium web测试框架

selenium是一个web测试框架,它允许调用本地的浏览器引擎发送网页请求,所以,它同样可以实现抓取页面的要求。

推荐一个chrome应用,postman,可以模拟正常请求,一般用来测试接口使用,如果抓包麻烦的话用postman可以比较轻松的模拟http请求,不过我还是习惯抓包。 如果postman下载不了的话还是建议直接抓包测试接口。前端直接ajax调用

nodejs就是js啊,两个是一种语言,只是运行的环境不同而已,nodejs是在服务器端运行,而js是在客户端浏览器上运行。不太懂你说的什么意思?

你的意思是不是希望让nodejs像浏览器一样模拟运行一个窗口,如果是这样你可以考虑用nodejs的phantom模块,我们一般用这个模块来模拟浏览器界面截图用。

如果你是想让nodejs加载另一个js文件,你可以用nodejs本身提供的require模块,加载文件。当你也可以自己写一个fs读取js文件,然后eval文件里的语句。