HTML数据抓取(我认为)
HTML Data Scraping (I think)
我目前正在为一个客户端做一些工作,这个客户端恰好是魔兽世界游戏的视频游戏组。
他们想在他们的网站上显示他们目前的评分。
分级显示在这里。
他们希望在他们的网站上显示"Oceanic"的号码和"US"的号码。
有没有人能告诉我一种方法,我可以让这些数字自动更新在网站上,如果他们改变?
谢谢!
您可以使用这个代码片段来废弃数据-假设PHP可以,因为您正在运行wordpress。我会将这些值保存在数据库/平行线/缓存中。
<?php
$data = file_get_contents('http://www.wowprogress.com/guild/us/caelestrasz/Crimson/rating.tier13_25');
$oceanic = explode('<dt>Oceanic: </dt>', $data);
$oceanic = substr($oceanic[1], 4, strpos($oceanic[1], '</dd>') - 4);
$us = explode('<dt>US: </dt>', $data);
$us = substr($us[1], 4, strpos($us[1], '</dd>') - 4);
echo 'Oceanic: ' . $oceanic . "<br />'n";
echo 'US: ' . $us . "<br />'n";
这很简单。我更喜欢使用simplehtmldom,但您也可以使用内置的php dom解析方法。
require 'simple_html_dom.php';
$html = file_get_html('http://www.wowprogress.com/guild/us/caelestrasz/Crimson/rating.tier13_25');
$xxx = $html->find('div.guildStats dl dd');
foreach($xxx as $k)
echo $k->plaintext."'n";
由于跨域安全,你不能用javascript这样做,如果你可以访问它,你将不得不获得你的信息服务器端
这是一个使用RegEx的解决方案。
<?php
$data = implode('', file('http://www.wowprogress.com/guild/us/caelestrasz/Crimson/rating.tier13_25'));
$pat_world = '/<span class="rank blue">('d+)<'/span>/';
$pat_us = '/<dt>US:'D+('d+)/';
preg_match($pat_world, $data, $world);
preg_match($pat_us, $data, $us);
echo $world[1];
echo "'n'n";
echo $us[1];
我知道每个人都反对用正则表达式来抓取网页,但我认为它在像这样的简单情况下工作得很好。
相关文章:
- 同源策略目的|用户数据与基本页面数据|客户端页面抓取
- 如何获取网站所有页面的链接以进行数据抓取
- 使用回发数据抓取页面 javascript Python Scrapy
- Beautifulsoup抓取数据,其中有js文本在中间
- 试图在网站上抓取谷歌地图api生成的动态数据,但正常抓取返回空白
- 从Playstation官方网站抓取奖杯数据
- 无法通过请求模块抓取数据 - Fobidden
- CSS选择器代码,用于从棘手的网站抓取/解析数据
- 抓取表数据并使用jQuery转换为无序列表
- 从谷歌地图抓取数据
- Jquery - 在 Jquery 中抓取多个选择的数据
- 从 Web 抓取数据并同时执行 api 调用的编程语言
- 抓取动态数据
- 具有多个加载数据的PhantomJS页面抓取
- 如何使用 php 抓取基于 javascript 和 ajax 的网页数据
- 数据抓取刚刚用PHP编写的页面
- HTML数据抓取(我认为)
- Kissmetrics数据抓取
- 错误:无法将数组转换为对象数据抓取脚本
- 烬数据抓取已经加载的对象从存储