
正文
JavaScript爬,html爬取
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
前端js爬虫?
纯粹前端的js 是不能 跨域 获取 cookie的
xxx.com 的js 代码 只能得到 xxx.com的cookie,拿不到 yyy.com
当然如果你有办法 在 yyy.com 写入受到自己控制的 html文件,你就可以写代码去拿到 对应的cookie,但看你的需求 应该你没有yyy.com 的权限
所以 要结合其他方案,推荐一下两种:
使用 electron ,electron 你可以认为是受js控制的浏览器引擎,所以你可以用它访问 yyy.com 拿到cookie,再接着做你的事情
或者 使用 puppeteer(Google 官方出品的 headless Chrome node 库)
Puppeteer 提供了一系列的 API,可以在无 UI 的情况下调用 Chrome 的各种功能,适用于爬虫、自动化处理等各种情景。
相关问答
Q1: js逆向爬虫属于什么水平
高级水平
高级爬虫是应对反爬的,所以js爬虫是高级水平。
掌握了加密算法且可以将加密的密文进行解密破解的,也是我们从一个编程小白到大神级别的一个质的飞跃,且加密算法的熟练程度和剖析也是有助于我们实现高效的js逆向。
Q2: 爬取javascript代码 算侵权吗
个人使用的话不算,要是用于商业就算了,公司不会找你,但是你要是来这个来赚钱,商业目的,你就等着法律吧
Q3: 如何爬取网页中js动态生成的数据
String url = "";
try {
WebClient webClient = new WebClient(BrowserVersion.FIREFOX_10);
//设置webClient的相关参数
webClient.getOptions().setJavaScriptEnabled(true);
webClient.getOptions().setCssEnabled(false);
webClient.setAjaxController(new NicelyResynchronizingAjaxController());
//webClient.getOptions().setTimeout(50000);
webClient.getOptions().setThrowExceptionOnScriptError(false);
//模拟浏览器打开一个目标网址
HtmlPage rootPage = webClient.getPage(url);
System.out.println("为了获取js执行的数据 线程开始沉睡等待");
Thread.sleep(3000);//主要是这个线程的等待 因为js加载也是需要时间的
System.out.println("线程结束沉睡");
String html = rootPage.asText();
System.out.println(html);
} catch (Exception e) {
}
Q4: 如果网页内容是由javascript生成的,应该怎么实现爬虫
用神箭手云爬虫,完全在云上编写和执行爬虫,不需要配置任何开发环境,快速开发快速实现。
简单几行 javascript 就可以实现复杂的爬虫,同时提供很多功能函数:反反爬虫、 js 渲染、数据发布、图表分析、反防盗链等,这些在开发爬虫过程中经常会遇到的问题都由神箭手帮你解决。





