我想从网页检索一些数据项。
网页链接:
http://www.walmart.com/storeLocator/ca_storefinder_results.do
我想要检索的数据项。
- $StorePhone
- $药房电话
- $开放时间
- $PharmacyHours
我尝试了很多,但无法做到这一点,因为没有为标签分配 id 或特定类,并且没有标签层次结构来获取每个标题的数据。
如果你看到上面页面的html源代码,那么<script>
里面已经有以变量形式存在的数据项了。 tag ,谁能告诉我如何针对每个商店检索这些数据项
最佳答案
经典的抓取会让你很难处理这样的页面。您需要获取 url 的内容,然后通过正则表达式提取 stores
数组的元素。
如果您有时间学习一些新技术,我建议您查看phantomJS .
这个 headless 浏览器的行为就像浏览器一样并执行 JavaScript。
打开控制台时,您将看到 stores
数组是一个全局变量,因此使用 phantomJS 可以轻松读取该数组的内容。
phantomJS 脚本示例:
var url = "your url";
var page = require('webpage').create();
page.open(url, function (status) {
var stores = page.evaluate(function () {
return window.stores;
});
console.log(stores[0]);
});
关于php - 如何通过 html 源中的 <script> 标签从网页中抓取数据。 (PHP),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10865524/