我正在尝试从网站获取所有可见文本,我使用 python-scrapy 来完成这项工作。然而,我观察到 scrapy 仅适用于 HTML 标签,如 div、body、head 等,而不适用于 Ang-view 等角度 js 标签,如果 ng-view 标签内有任何元素,并且当我右键单击页面并查看源代码,然后标签内的内容不会出现,并且显示如下<ng-view> </ng-view>
,那么我如何使用 python 来废弃这个 ng-view 标签中的元素。提前谢谢..
回答你的问题
我如何使用 python 来废弃这个 ng-view 标签中的元素
你不能。
你想要抓取的内容会在客户端(浏览器)上呈现,scrapy 得到的只是来自服务器的静态内容,你的浏览器会解释 HTML 代码并呈现 JS 代码。 JS 代码会再次从服务器获取不同的内容并用它制作一些东西。
能做到吗?
Yes!
其中一种方法是使用某种无头浏览器,例如http://phantomjs.org/获取所有内容。获得内容后,您可以将其保存并根据需要进行抓取。问题是,这种网页抓取并不像抓取常规 HTML 那样简单直接。 Google 仍然不抓取通过 JS 呈现内容的网页是有原因的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)