使用selenium调用JQuery
当前爬数据的时候,遇到一个问题,就是很多网站的请求头中很多参数,找不到是怎么生成的,每次请求都不一样,没办法从接口中直接去获取数据;
所以,解决的办法是使用selenium,直接使用当前已打开的浏览器,这样去爬取每一页的数据,麻烦的地方是,需要解析网页信息;
但是呢,有些图表中的数据不好解析,或者解析起来很麻烦,那怎么办呢?
目前找到的一个办法是,将jQuery引入到当前页面中,
jquery = ''
with open('H://jquery-3.6.0.min.js', 'r') as f:
jquery = f.read()
driver.execute_script(jquery)
动态的执行了一个JS脚本,相当于加载了JQuery,然后就可以使用jQuery的函数来方便使用了
后面继续使用执行JS脚本的方式来调用就行,并且可以直接将JS的返回值,传入到python中使用
fans_data = driver.execute_script(' var fans=$.ajax({url: "",method: "POST",contentType:"application/json",data: JSON.stringify({starId : "926598"}) ,dataType: "json"}); return fans.done(function(data) {return JSON.stringify(data)});')
发布于 2021-04-08 14:42