如何使用Xpath抓取Google URL包含但不包含

问题描述

我想从Google搜索结果中获取网址。

此xpath可以完美运行,但是存在问题:

//div[@class='r']/a

Google从精选的片段和“也有人问”(https://www.google.com/search?q=people+also+ask+example)中显示了一些结果,而xpath会获得所有这些URL结果。

我意识到有一个父类为“ g”类,只有“ People Also Ask div”类为“ kno-kp”。

因此解决方案很简单:

选择每个包含“ g”但不包含“ kno-kp”的div类

google results

这是我的xpath,但是不起作用:

//div[contains(@class,'g') and not(contains(@class,'kno-kp'))]//div[@class='r']/a

谢谢您的帮助!

解决方法

我认为它可以解决您的问题:

public static string GetString(in this ReadOnlySequence<byte> payload,Encoding encoding = null)
{
    encoding ??= Encoding.UTF8;
    return payload.IsSingleSegment ? encoding.GetString(payload.FirstSpan)
        : GetStringSlow(payload,encoding);

    static string GetStringSlow(in ReadOnlySequence<byte> payload,Encoding encoding)
    {
        // linearize
        int length = checked((int)payload.Length);
        var oversized = ArrayPool<byte>.Shared.Rent(length);
        try
        {
            payload.CopyTo(oversized);
            return encoding.GetString(oversized,length);
        }
        finally
        {
            ArrayPool<byte>.Shared.Return(oversized);
        }
    }
}

上面有关xpath的有用信息:here

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...