URL1:https://duapp3.drexel.edu/webtms_du/
设置会话凑页
URL2:https://duapp3.drexel.edu/webtms_du/Colleges.asp?Term=201125&univ=DREX
URL3:https://duapp3.drexel.edu/webtms_du/Courses.asp?SubjCode=CS&CollCode=E&univ=DREX
作为个人编程项目,我要刮我的大学的课程目录,并提供它作为一个RESTful API 。
但是,我遇到了以下问题。
我需要刮的页面是URL3。但是,在我访问URL2(它设置术语Colleges.asp?Term=201125
)后,URL3仅返回有意义的信息,但URL2只能在访问URL1后访问。
我试着监控HTTP数据来回使用Fiddler,我不认为他们正在使用Cookie。关闭浏览器立即重置所有内容,所以我怀疑他们正在使用Session。
如何刮取URL 3?我以编程方式尝试访问URL 1和2,然后执行file_get_contents(url3)
但这不起作用(可能是因为它注册为三个不同的会话)。
没有被设置会话使用Cookie:'ASPSESSIONIDASBRRCCS'是它的名字,但我不明白为什么URL2是必要的(可能是我的,我忘了要注意在第一时间周围) – Grexis 2012-01-06 10:46:03
@Grexis :啊,谢谢你提供的信息。 URL3提供的信息包括课堂举办的地点以及谁将参加。这取决于术语(学期),似乎在URL2 – xbonez 2012-01-06 10:51:06
中设置也许值得一提的是,PHP是少数没有机械化库的动态语言之一。基于这个原因,perl python或ruby都是更好的选择。 – pguardiario 2012-01-06 22:47:39