我正在尝试从网页抓取数据,而firebug显示我要提取的数据,但是当我右键单击“显示源代码”时,源代码中没有显示。
这是因为firebug显示了由javascript等加载的动态内容吗?
phantomjs和casperjs是提取此页面内容的最佳方式,包括所有div元素。我需要提取firebug所显示的数据。
casper js是否有casper.GrabHTML方法,比如mechanize和beautifulsoup?这将获得所有dom元素,如clsses,hrefs,链接,按钮,文本等
答案 0 :(得分:1)
这是发生事情的顺序:
PHP生成HTML 浏览器加载HTML JavaScript操纵加载的HTML
为什么会这样?
视图源浏览器功能通常显示浏览器收到的纯HTML。 Firefug等其他高级工具能够在被JavaScript更改后显示当前的HTML。 (Firefox本身也具有此功能:只需右键单击某些生成的HTML并选择“查看所选源”。)
如何访问完整版(firebug html)?
我不确定HTML标签,但“网络”标签始终显示从服务器收到的文档。
我可以在php / javascript中完成吗?
当原始HTML到达浏览器时,PHP不再运行。
JavaScript可以使用任何DOM节点的.innerHTML
属性显示HTML。