php抓取网页表格信息(Python中的urlparse、urllib抓取和解析网页(一))

优采云 发布时间: 2021-09-28 08:24

  php抓取网页表格信息(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的使用基础请参考此博客:以下是根据抓取到的页面字符串解析保存...

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线