如果网页内容是由javascript生成的,应该怎么实现爬虫

 我来答
育知同创教育
2017-11-02 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
展开全部

对于提到的两种方法,抓包分析获取请求的参数和驱动浏览器内核执行 js 代码,两种方法各有优点,选择适合你的方式就好。

  1. 抓包分析,这个方法的优点是抓取的速度快,取得数据结构比较好,处理起来简单,很多是 json 格式的数据,但是抓包分析需要大量的时间,这里的时间是指需要模拟需要获取数据的之前的一个或者几个请求,涉及到 headers 里的很多参数,有时候还设计到数据加密,这个过程你可能需要读 js 源码,才能解决问题。所以这个方式适合那些请求参数较少,数据结构比较好的网站。

2. 驱动浏览器内核,这个方法的优点是编程实现比较简单,只要学会了驱动浏览器的 api 就可以在很少的改动下用于很多不同网站的抓取。但是缺点也很明显,慢,占用的资源比较多,不如抓包分析获取数据灵活。

我以前抓取的好多网站都是用抓包分析的方式,还分析了好多网站的登录的机制,用 Python 重写 js 的请求,做模拟登录,对于抓包分析有些偏执,但是我现在的观点是:用最少的时间成本来解决问题,这里的时间成本是指编程时间和抓取的时间之和。当然你如果是学习的话,我建议两种方式都学。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式