【发布时间】:2015-05-27 22:27:16
【问题描述】:
许多搜索引擎通过将结果的 URL 添加到查询字符串来跟踪点击的 URL,查询字符串可以采用如下格式:http://www.example.com/result?track=http://www.stackoverflow.com/questions/ask
在上面的示例中,结果 URL 是查询字符串的一部分,但在某些情况下,它采用 http://www.example.com/http://www.stackoverflow.com/questions/ask 的形式或使用 URL 编码。
我首先尝试的方法是拆分searchengineurl.split("http://")。一些明显的问题:
- 它将返回结果 URL 之后的查询字符串的所有部分,而不仅仅是结果 URL。这样的 URL 会出现问题:
http://www.example.com/result?track=http://www.stackoverflow.com/questions/ask&showauthor=False&display=None - 它不区分搜索引擎跟踪 URL 的查询字符串和结果 URL 的查询字符串的任何其他部分。这将是这样的 URL 的问题:
http://www.example.com/result?track=http://www.stackoverflow.com/questions/ask?showauthor=False&display=None - 如果在结果 URL 中省略了“http://”,则会失败
在 Python 中提取其他 URL 中包含的 URL 的最可靠、最通用和最简单的方法是什么?
【问题讨论】:
标签: python html parsing url urlencode