首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >抓取一个有javascript的网站

抓取一个有javascript的网站
EN

Stack Overflow用户
提问于 2013-09-23 11:05:40
回答 2查看 249关注 0票数 1

我正在寻找一种方法从服务器端(使用javascript)抓取网站,并在分析数据后将输出保存到mysql数据库中。我需要从一个页面导航到另一个页面,方法是单击链接并提交数据库中的数据,而不需要会话过期。这可以使用phpquery web浏览器插件吗?我已经开始用casperjs做这个了。我想知道这两种方法的利弊。我是编码领域的初学者。请帮帮忙。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-09-24 13:47:22

我建议您使用PhantomJSCasperJS,并使用JavaScript选择器解析DOM,以获得所需页面的部分。不要使用phpQuery,因为它是基于PHP的,在处理过程中需要一个单独的步骤,而不是只使用JavaScript DOM解析。另外,您将无法使用PHP执行单击事件。任何客户端都需要在PhantomJS或CasperJS中运行。

如果PHP是您选择的服务器端语言,甚至可以使用PHP编写一个完整的擦拭引擎。您需要反向设计登录过程,并使用cURL请求维护cookie jar,以使登录对每个请求都有效。一旦您与该网站建立了会话,您就可以使用您想要爬行的一系列链接来设置您的导航路径。web爬行背后的想法是,您从某个链接加载一个页面,然后处理该页面,然后移动到下一个链接。继续此过程,直到处理完所有页面,然后完成爬行。

票数 2
EN

Stack Overflow用户

发布于 2013-10-01 02:25:01

我会查看谷歌的指南使AJAX应用程序可爬行,你想要废除的网站可能已经采用了这个计划(使他们的网站内容可以抓取)。

您希望在URL的散列片段中查找#!,这向爬虫表明站点支持AJAX爬行方案。

简单地说,当您遇到这样的URL时。www.example.com/ajax.html#!key=value,您可以将其修改为www.example.com/ajax.html?_escaped_fragment_=key=value。服务器应该使用该页面的HTML快照进行响应。

这是全规格

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18957679

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档