php抓取网页表格信息(Python中的urlparse、urllib抓取和解析网页(一))
优采云 发布时间: 2021-09-28 08:24php抓取网页表格信息(Python中的urlparse、urllib抓取和解析网页(一))
项目中使用了网络爬虫,最后使用了HtmlAgilityPack来做。
官网地址:可以看看
基本的:
// From File<br />
var doc = new HtmlDocument();<br />
doc.Load(filePath);
// From String<br />
var doc = new HtmlDocument();<br />
doc.LoadHtml(html);
// From Web<br />
var url = "http://html-agility-pack.net/";<br />
var web = new HtmlWeb();<br />
var doc = web.Load(url);<br />我要实现抓取某一个table的信息,
官方代码如下:
HtmlDocument doc = new HtmlDocument();<br />
doc.LoadHtml(@"<p>helloworld");<br />
foreach (HtmlNode table in doc.DocumentNode.SelectNodes("//table")) {<br />
Console.WriteLine("Found: " + table.Id);<br />
foreach (HtmlNode row in table.SelectNodes("tr")) {<br />
Console.WriteLine("row");<br />
foreach (HtmlNode cell in row.SelectNodes("th|td")) {<br />
Console.WriteLine("cell: " + cell.InnerText);<br />
}<br />
}<br />
}
这个例子可以成功运行,但是当我实际应用它时,我会发现
table.SelectNodes("tr") 获取的值为null,经查找发现是路径解析的问题,因为我获取的html为
<br />
<br />
<br />
承运人<br />
航线名称<br />
起运港<br />
目的港<br />
挂靠港<br />
<br />
<br />
ANL(澳航)<br />
Austrilian and Zelanian Line
<br />
YOKOHAMA<br />
BRISBANE<br />
YOKOHAMA-OSAKA-BUSAN-QINGDAO-SHANGHAI-NINGBO-XIAMEN-HONGKONG-KAOHSIUNG-MELBOURNE-SYDNEY-BRISBANE<br />
ANL(澳航)<br />
Austrilian and Zelanian Line
<br />
YOKOHAMA<br />
BRISBANE<br />
YOKOHAMA-OSAKA-BUSAN-QINGDAO-SHANGHAI-NINGBO-XIAMEN-HONGKONG-KAOHSIUNG-MELBOURNE-SYDNEY-BRISBANE<br />
<br />
<br />
当前第一个tr的xml路径为:/html[1]/body[1]/div[3]/div[3]/div[1]/table[1]/thead[1]/tr,最后修改为了:
table.SelectNodes(".//tr") 就可以解析这个table下面的所有tr信息,<br />当使用
table.SelectNodes("//tr")时,获取的是当前html的全部tr,如果当有两个table时候,会获取到两个table全部的tr信息,用哪个要分情况
c#使用HtmlAgilityPack爬取解析获取更多表表信息文章 Python中使用urlparse和urllib爬取解析网页(一)(转)
对于搜索引擎、文件索引、文档转换、数据检索、站点备份或迁移等应用,经常用到网页(即HTML文件)的分析和处理。事实上,通过Python语言提供的各种模块,我们无需使用网络服务器或网页浏览...
网页调试技巧:抓取立即跳转的页面的POST信息或页面内容
网页调试技巧:抓取立即跳转的页面的POST信息或页面内容 2016/02/02 | 经验分享 | 0 回复 有时调试网页或...
Python中的urlparse和urllib爬取解析网页(一)
对于搜索引擎、文件索引、文档转换、数据检索、站点备份或迁移等应用,经常用到网页(即HTML文件)的分析和处理。事实上,通过Python语言提供的各种模块,我们无需使用网络服务器或网页浏览...
使用HtmlAgilityPack和ScrapySharp抓取网页数据格式编码问题遇到的几个问题的解决方案
需要用到全市街道、县居委会对应的区号,于是找了统计局的网页,抓取了数据。使用了 HtmlAgilityPack 和 ScrapySharp。由于也是第一次从网页抓取数据,对于HtmlAgili...
c#抓取并解析网页,并将表格数据保存到datatable中(其他格式也可以,可以自行修改)
HtmlAgilityPack的使用基础请参考此博客:以下是根据抓取到的页面字符串解析保存...