我以前做过网页抓取,但从未如此复杂。我想从学校网站上获取类(class)信息。然而,所有类(class)信息都显示在网络抓取工具的噩梦中。
首先,当您点击“类(class)表”网址时,它会首先引导您浏览其他几个页面(我相信设置 cookie 并检查其他废话)。
然后它最终加载带有 iframe 的页面,该 iframe 显然只喜欢在从机构网页(即 arizona.edu)内加载时加载。
从那里必须通过按钮提交表单,这些按钮实际上不会重新加载页面,而只是提交 AJAX 查询,我认为它只是操纵 iframe。
这个查询对我来说特别难以复制。我一直在使用 PHP 和 curl 来模拟浏览器访问初始页面,收集适当的 cookie 等。但我认为我的 curl 函数发送的 header 有问题,因为它永远不会让我在初始“搜索表单”加载后执行任何类型的查询。
任何帮助都会很棒...
http://www.arizona.edu/students/registering-classes -> “类(class)表”
或者就在这里: http://schedule.arizona.edu/
最佳答案
如果你需要抓取大量使用 JS/AJAX 的网站 - 你需要比 php 更强大的东西;)
首先 - 它必须是具有执行 JS 能力的完整浏览器,其次 - 必须有一些用于自动浏览的 api。
假设您是个 child (还有谁需要解析学校)- 尝试使用 iMacros 的 Firefox .如果您是经验丰富的老手 - 看看 Selenium。
关于php - 如何抓取网站内容(*复杂* iframe,javascript 提交),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7481699/