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

JavaScript012

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

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

1用dryscrape库动态抓取页面

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

2 selenium web测试框架

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

该方法将从头到尾地检索字符串 stringObject,看它是否含有子串 searchvalue。开始检索的位置在字符串的 fromindex 处或字符串的开头(没有指定 fromindex 时)。如果找到一个 searchvalue,则返回 searchvalue 的第一次出现的位置。stringObject 中的字符位置是从 0 开始的。

alert('160,12,10'.indexOf('10')>0?'YES':'NO')

//'160,12,10'.indexOf('10')在第7个找到10,所以7>0成立,输出YES alert('100,12,10'.indexOf('10')>0?'YES':'NO')

//'100,12,10'.indexOf('10')在第0个找到10(100的前两位就是10),所以0>0不成立,输出NO alert('1000234'.indexOf('1000234')>0?'YES':'NO')

////'1000234'.indexOf('1000234')在第0个找到1000234,所以0>0不成立,输出NO