首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

pyspider 爬虫教程(三):使用 PhantomJS 渲染 JS页面

但是有一些页面,它实在太复杂了,无论是分析 API 请求的地址,还是渲染时进行了加密,让直接抓取请求非常麻烦。这时候就是 PhantomJS 大显身手的时候了。...使用 PhantomJS 当 pyspider 连上 PhantomJS 代理后,你就能通过在 self.crawl 中添加 fetch_type='js' 的参数,开启使用 PhantomJS 抓取。...为了获得更多的电影,我们可以使用 self.crawl 的 js_script 参数,在页面上执行一段脚本,点击加载更多: def on_start(self): self.crawl...('http://movie.douban.com/explore#more', fetch_type='js', js_script="""...,你可以通过 js_run_at 参数 修改这个行为 由于是 AJAX 异步加载的,在页面加载完成时,第一页的电影可能还没有加载完,所以我们用 setTimeout 延迟 1 秒执行。

2.5K70

JS页面跳转使地址后面不显示参数

背景 使用window.open()和window.location.href跳转时,新页面的地址栏会显示参数,如下:http://127.0.0.1:8080/website-cms/admin/article...这样会暴露参数内容,用户可以修改地址栏的参数。如果提交的参数修改可能会出现业务上的错误,甚至可以跳过权限验证,实现本来没有的权限。...但是为了方便只使用了同一个页面通过不同的参数控制查看和修改。?op=1和?op=2分别是查看和修改,结果有的用户直接将op=1改为了op=2从而跳过权限验证,直接实现了修改功能。...实现方法 实现的思路是利用JS创建一个Form表单,然后将参数用Input元素的方式添加到Form表单中,最后提交Form表单从而实现跳转。...* @param config Object * url:form的Action,提交的后台地址 * method:使用POST还是GET提交表单 * params:参数

5.6K20
领券