从我的数据库中,我正在抓取网站内容的正文栏。
出于某种原因,某些 href 会在没有破折号的情况下返回(可能会逃脱),因此href="/my-page"
将返回href="my-page"
而没有破折号。
我需要知道如何更改body列以查找href="<some value>"
并为它们添加斜杠。只有它没有斜杠,或者它已经没有 http:或 www。。
我可以通过HTML解析任何想法吗?
答案 0 :(得分:0)
您可以尝试进行粗略处理:
href="([^"]+)"
查找实际指向某个资源的每个链接。/
,http://
或www.
开头。如果没有,请添加前导/
并将代码中的原始值替换为已修改的值(对于替换,请尝试将修改后的值替换为完全匹配(组0)的值)。 / LI>
醇>
答案 1 :(得分:0)
这可能是您在链接检索中更好地解决的问题,但我认为这应该是您所追求的:
Regex.Replace(yourString, @"(href="")(?!www)(?!http)", "$1/"));
它将匹配并捕获任何href="
,而不是www
或http
。然后它只在匹配的组后插入/
。它可能是一个有点复杂字符串的时尚。