标签: html-parsing

xpath查找不包含子节点的节点

我正在尝试创建一些xpath,它将找到所有a不包含img标签的标签,以便像这样的东西

<a href="http://aol.com">link</a>
Run Code Online (Sandbox Code Playgroud)

比赛,但是

<a href="http://yahoo.com"><img src="http://yahoo.com/logo.png"></a>
Run Code Online (Sandbox Code Playgroud)

才不是.

当然,我可以通过两部分搜索来完成此操作,但我确信必须有一些方法可以使用xpath执行此操作.

xpath html-parsing xml-parsing

31
推荐指数
1
解决办法
2万
查看次数

HTML Agility Pack strip标签不在白名单中

我正在尝试创建一个删除不在白名单中的html标签和属性的函数.我有以下HTML:

<b>first text </b>
<b>second text here
       <a>some text here</a>
 <a>some text here</a>

 </b>
<a>some twxt here</a>
Run Code Online (Sandbox Code Playgroud)

我正在使用HTML敏捷包,到目前为止我的代码是:

static List<string> WhiteNodeList = new List<string> { "b" };
static List<string> WhiteAttrList = new List<string> { };
static HtmlNode htmlNode;
public static void RemoveNotInWhiteList(out string _output, HtmlNode pNode, List<string> pWhiteList, List<string> attrWhiteList)
{

 // remove all attributes not on white list
 foreach (var item in pNode.ChildNodes)
 {
  item.Attributes.Where(u => attrWhiteList.Contains(u.Name) == false).ToList().ForEach(u => RemoveAttribute(u));

 }

 // remove all html and their innerText …
Run Code Online (Sandbox Code Playgroud)

c# tags sanitize html-parsing html-agility-pack

30
推荐指数
2
解决办法
2万
查看次数

在任何主流浏览器中都有内置的HTML验证器吗?

在Firefox中,有一个名为"Html Validator"的扩展.它会在窗口的右下角添加一个小指示符图标.当您访问的页面无效时,它会亮起.您可以单击它以查看错误.这个扩展的真正重要特征是它不与w3c的验证器建立连接.w3c使用的相同验证SGML解析器是捆绑的.这意味着它可以验证本地HTML文件.(这对我来说是最重要的用途,因为我使用手动编码的html文件进行Web开发.每次我在浏览器中预览HTML时,我也可以知道它是否有验证错误.)

谷歌Chrome,Opera,Safari甚至IE都有类似的东西吗?当我查看过去几年时,我见过的所有其他验证器只是将当前的URL发送到w3c的验证器站点.

html html-parsing

28
推荐指数
3
解决办法
3万
查看次数

如何从github添加"当前连胜"贡献到我的博客?

我有一个使用rails构建的个人博客.我想在我的网站上添加一个部分,显示我目前的github贡献.这样做最好的方法是什么?

编辑:澄清,这是我想要的:

在此输入图像描述

只需要天数就可以了.

html ruby ruby-on-rails github html-parsing

28
推荐指数
2
解决办法
4524
查看次数

在Python中解析HTML

如果我不能使用BeautifulSoup或lxml,解析HTML的最佳选择是什么?我有一些使用SGMLlib的代码,但它有点低级,现在已经弃用了.

我更喜欢它可能会造成一些格式错误的HTML,尽管我很确定大部分输入都会非常干净.

python html-parsing

27
推荐指数
1
解决办法
5万
查看次数

HtmlAgilityPack设置节点InnerText

我想用另一个文本替换HTML标签的内部文本.我正在使用HtmlAgilityPack
我使用此代码来提取所有文本

HtmlDocument doc = new HtmlDocument();
doc.Load("some path")

foreach (HtmlNode node in doc.DocumentNode.SelectNodes("//text()[normalize-space(.) != '']")) {
    // How to replace node.InnerText with some text ?
}
Run Code Online (Sandbox Code Playgroud)

但是InnerText是只读的.如何用其他文本替换文本并将其保存到文件?

c# parsing html-parsing html-agility-pack

27
推荐指数
3
解决办法
2万
查看次数

编写HTML解析器

我目前正在尝试(或计划尝试)编写一个简单的(尽可能)程序来将html文档解析为树.

谷歌搜索后,我发现许多答案说"不要做它已经完成"(或者说是这样的话); 和HTML解析器示例的引用; 还有一篇相当有说服力的文章,说明为什么不应该使用常规表达.但是我没有找到任何关于编写解析器的"正确"方法的指南.(顺便说一句,这是我尝试更多的东西,而不是任何东西,所以我非常喜欢这样做,而不是使用预制的)

我相信我只需通过阅读文档并将标签/文本等添加到树中就可以创建一个有效的XML解析器,每当我点击一个关闭标签时就会升级一个级别(同样,简单,没有花哨的线程或在这个阶段需要效率).但是,对于HTML,并非所有标记都已关闭.

所以我的问题是:你会建议什么作为处理这个问题的方法?我唯一的想法就是以与XML类似的方式对待它,但是有一个标签列表,这些标签不一定都是关闭的条件(例如<p>结束于</ p>或下一个<p >标签).

有没有其他任何(希望更好)的建议?是否有更好的方法完成这项工作?

html parsing html-parsing

26
推荐指数
4
解决办法
9216
查看次数

php中的DOMDocument

我刚刚开始阅读有关DOM的文档和示例,以便抓取和解析文档.

例如,我有部分文件如下所示:

    <div id="showContent">
    <table>
    <tr>
        <td>
         Crap
        </td>
    </tr>
<tr>
          <td width="172" valign="top"><a href="link"><img height="91" border="0" width="172" class="" src="img"></a></td>
          <td width="10">&nbsp;</td>
          <td valign="top"><table cellspacing="0" cellpadding="0" border="0">
              <tbody><tr>
                <td height="30"><a class="px11" href="link">title</a><a><br>
                    <span class="px10"></span>
                </a></td>
              </tr>
              <tr>
                <td><img height="1" width="580" src="crap"></td>
              </tr>
              <tr>
                <td align="right">
                    <a href="link"><img height="16" border="0" width="65" src="/buy"></a>
                </td>
              </tr>
              <tr>
                <td valign="top" class="px10">
                    <p style="width: 500px;">description.</p>
                </td>
              </tr>
          </tbody></table></td>
        </tr>
    <tr>
        <td>
Crap
        </td>
    </tr>
    <tr>
        <td>
         Crap
        </td>
    </tr>
    </table>
    </div>
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用以下代码来获取所有tr标记并分析其中是否存在垃圾或信息:

$dom …
Run Code Online (Sandbox Code Playgroud)

php html-parsing domdocument xml-parsing

25
推荐指数
1
解决办法
2万
查看次数

HtmlAgility - 将解析保存为字符串

刚尝试首次使用HtmlAgility Pack并遇到问题.

首先我从字符串变量加载.

string NewsText = dr["Message"].ToString();
HtmlAgilityPack.HtmlDocument htmlDoc = new HtmlAgilityPack.HtmlDocument();
htmlDoc.LoadHtml(NewsText);
//doing my stuff...
Run Code Online (Sandbox Code Playgroud)

然后我想将我的更改保存在字符串NewsText中.我怎么做?htmlDoc.toString()没有用.

谢谢!

c# parsing html-parsing

25
推荐指数
1
解决办法
8160
查看次数

使用Go lang从网页中提取链接

我正在学习谷歌的Go编程语言.有没有人知道从html网页中提取所有URL的最佳做法?

来自Java世界,有工作的库,例如jsoup,htmlparser等.但是对于go lang,我想没有可用的类似库吗?

go html-parsing

25
推荐指数
4
解决办法
3万
查看次数