2012-03-22 44 views
0

我需要从不属于我的域的页面中抓取一些数据。我知道如何加载页面服务器端并解析它在各种不同的语言(asp.net,PHP等),但是,我需要在它登录后刮页面。如果我拥有登录凭据,如何抓取数据页面,就像它已经登录一样?

例如,页面将有一个HTML标签的属性设置为用户ID如下:

<div id="profile" data-userid="1234"></div> 

的数据,用户ID属性不会有一个ID中,除非登录是否有可能登录到服务器端的一个网站? (我有登录凭据)

感谢,

托马斯

+0

是的,你可以使用[cURL](http://php.net/curl)来做到这一点。只需创建一个cURL会话,将其配置为使用cookie,通过HTTP请求模拟登录,然后访问您想要查看的登录页面。如果您四处搜索,应该有大量的示例。 – drew010 2012-03-22 22:48:02

+0

很厌倦了一遍又一遍地看到这个确切的问题。如果需要登录,他们可能不希望你抓取他们的数据。如果他们这样做,他们会有一个API。 – dqhendricks 2012-03-22 22:49:50

+0

可能重复[从需要登录的网站上刮]?(http://stackoverflow.com/questions/4997147/scraping-from-a-website-that-requires-a-login) – dqhendricks 2012-03-22 22:51:08

回答

0

是的。您需要在您的搜寻器中使用会话感知的HTTP组件;以编程方式登录,并且每次爬网都会提供从登录操作获得的cookie。测试套件通常具有这样的组件 - 例如参见SimpleTest

1

阅读讲究curlCURLOPT_COOKIEFILE。您可以使用curl发布表单并维护会话cookie。

相关问题