php抓取dom处理后数据,PHP简单DOMDocument抓取排除td类
我只是试图获取所有的< td>位于< tr>内部的元素数据元素.我的问题是因为我试图抓取的表结构是我需要排除所有具有COLLSPAN属性的元素,即< td collspan = 12>
从下面的代码可以看出,获取表数据非常简单,但是由于表结构的原因,我需要排除所有collspan属性.
$html = file_get_contents('http://www.superxv.com/fixtures/'); //get the html returned from the following url
$game_doc = new DOMDocument();
libxml_use_internal_errors(TRUE); //disable libxml errors
if(!empty($html)) { //if any html is actually returned
$game_doc->loadHTML($html);
libxml_clear_errors(); //remove error
$xpath = new DOMXPath($game_doc);
// Modify the XPath query to match the content
foreach ($xpath->query('//table')->item(0)->getElementsByTagName('tr') as $rows) {
$cells = $rows->getElementsByTagName('td');
//$cells2 = $rows->getElementsByTagName('th');
echo '
';
//@ signs are added due to table structure
//Get scrapped columns
echo $dayDateBye[] = $cells->item(0)->textContent;
echo $homeTeam[] = $cells->item(1)->textContent;
echo $awayTeam[] = $cells->item(2)->textContent;
echo $venue[] = $cells->item(3)->textContent;
echo $timeGMT[] = $cells->item(5)->textContent;
echo $timeZA[] = $cells->item(10)->textContent;
echo '
';
}
}
在这里,您可以看到表格结构,其中显示了5个奇数行的灯具,然后在新的一周开始时更改了结构.我可以识别的跳过结构变化的元素都是< td collspan = 12>.元素.这很棘手,因为TD元素没有类名,而仅具有用于标识它的元素.
任何输入表示赞赏.
解决方法:
您可以按标签长度跳过那些
$html = file_get_contents('http://www.superxv.com/fixtures/'); //get the html returned from the following url
$game_doc = new DOMDocument();
libxml_use_internal_errors(TRUE); //disable libxml errors
if(!empty($html)) { //if any html is actually returned
$game_doc->loadHTML($html);
libxml_clear_errors(); //remove error
$xpath = new DOMXPath($game_doc);
// Modify the XPath query to match the content
foreach ($xpath->query('//table')->item(0)->getElementsByTagName('tr') as $rows) {
$cells = $rows->getElementsByTagName('td');
if( $cells->length > 1 ){
//$cells2 = $rows->getElementsByTagName('th');
echo '
';
//@ signs are added due to table structure
//Get scrapped columns
echo $dayDateBye[] = $cells->item(0)->textContent;
echo $homeTeam[] = $cells->item(1)->textContent;
echo $awayTeam[] = $cells->item(2)->textContent;
echo $venue[] = $cells->item(3)->textContent;
echo $timeGMT[] = $cells->item(5)->textContent;
echo $timeZA[] = $cells->item(10)->textContent;
echo '
';
}
}
}
?>
标签:web-scraping,domdocument,html,php
来源: https://codeday.me/bug/20191025/1928820.html
php抓取dom处理后数据,PHP简单DOMDocument抓取排除td类相关推荐
- php抓取dom处理后数据,写爬虫时PHP解析HTML最高效的方法那就是用DomCrawler!
需求来源,需要用PHP解析HTML提取我想要的数据 用PHP写网站爬虫的时候,需要把爬取的网页进行解析,提取里面想要的数据,这个过程叫做网页HTML中数据结构化. 很多人应该知道用phpQuery像J ...
- 利用python爬取58同城简历数据_利用python爬取58同城简历数据-Go语言中文社区
利用python爬取58同城简历数据 最近接到一个工作,需要获取58同城上面的简历信息(http://gz.58.com/qzyewu/).最开始想到是用python里面的scrapy框架制作爬虫.但 ...
- 手机抓包app_Python爬取网站上面的数据很简单,但是如何爬取APP上面的数据呢
前言 在我们在爬取手机APP上面的数据的时候,都会借助Fidder来爬取.今天就教大家如何爬取手机APP上面的数据. 环境配置 1.Fidder的安装和配置 下载Fidder软件地址:https:// ...
- Python爬取微信小程序数据[使用Charles手机抓包获取微信小程序的请求]
前期准备 第一步 注意:首先将电脑和手机连接到一个网路里 然后重启软件 第二步 根据提示,手机设置代理 配置完之后打开Safari浏览器: chls.pro/ssl 手机浏览器直接访问chls.pro ...
- Python爬取网站上面的数据很简单,但是如何爬取APP上面的数据呢
前言 在我们在爬取手机APP上面的数据的时候,都会借助Fidder来爬取.今天就教大家如何爬取手机APP上面的数据. 很多人学习python,不知道从何学起. 很多人学习python,掌握了基本语法过 ...
- python爬取抖音用户数据_使用python爬取抖音视频列表信息
如果看到特别感兴趣的抖音vlogger的视频,想全部dump下来,如何操作呢?下面介绍介绍如何使用python导出特定用户所有视频信息 抓包分析 Chrome Deveploer Tools Chro ...
- python爬取17000个球员_Python爬取NBA球员生涯数据及简单可视化
由于全球疫情的原因 NBA宣布无限期推迟比赛 也被迫随之进入了长草期 紧接着 狂摸话筒戈贝尔 连坐队友米切尔 网络小帅杜兰特 绿军硬汉斯马特 等十名球员相继官宣感染 洛杉矶湖人两人感染 但未公布名单 ...
- python爬虫抓取动态网页数据_python网络爬虫抓取ajax动态网页数据:以抓取KFC门店地址为例...
一,尝试用BeautifulSoup抓取 先打开KFC网站门店列表页面:http://www.kfc.com.cn/kfccda/storelist/index.aspx 可以看到门店列表如下图: 打 ...
- fiddler抓取特定主机(网址)和App抓包
Fiddler抓取特定网址和App抓包 一.抓取特定网址 1.设置(特定地址) 2.出现的问题处理 二.app抓包 一.抓取特定网址 1.设置(特定地址) shift+F5去缓存刷新(可排除因缓存原因 ...
最新文章
- 6款强大的jQuery插件 创建和加强网站布局
- w3wp trace文件Debug
- exit函数的头文件问题
- 变态题大串烧:微软面试问题 -- 二.没有答案型
- 计算机视觉算法工程师 笔试,深度学习算法工程师笔试题目
- 自动替换 Kubernetes 镜像
- 网页java在div输出内容_JS实现读取xml内容并输出到div中的方法示例
- ELK实践(二):收集Nginx日志
- System.Net.Http.Formatting的nuget版本冲突问题
- unity Mesh Renderer的一点想法
- 责任链(Chain of Responsibility)模式
- 国内外最顶级的8大plm项目管理系统
- 图解|什么是蒙提霍尔问题(三门问题)
- 一个经济学果粉对国内iOS游戏厂商的5点斥责和5个建议
- JAVA实现诗词_基于jsp的古诗词网站-JavaEE实现古诗词网站 - java项目源码
- 快递员上门取件api接口技术对接java文档
- python画误差图_Python数据可视化:如何创建误差图
- 身体指数bmi流程图_【新城校区】新生体检丨你了解你的身体吗?
- 南通大学计算机学院本科考研,2017年南通大学计算机科学与技术学院919C考研题库...
- Unity Render Streaming 云渲染尝鲜
热门文章
- 使用C#创建Windows服务
- python 集合 gather
- 51nod1574排列转换
- PyQt5教程——组件(7)
- Outlook替代Hotmail:社交很重要,但邮箱是根本
- android nfc开发_意法半导体NFC产品线完整 满足多元应用_企业动态_新闻中心
- ie浏览器在线使用_关于登录深圳市住房公积金管理中心网站在线办理平台的温馨提示...
- 如何java面试_短时间如何过java面试?
- 什么是提花?大提花面料与小提花面料如何区别?
- MySQL打不开用户_mysql打不开了