python - BeautifulSoup 理解相对 URL 吗?

标签 python beautifulsoup urllib2

我正在尝试抓取一个使用大量相对 URL 的网站。一个存档页面包含指向许多单独条目的链接,但 URL 的给出方式类似于“../2011/category/example.html”

对于每个条目,我想打开页面并抓取它,但我不确定最有效的处理方法是什么。我正在考虑用“/”分割起始 URL,弹出最后一项并重新加入它们,以获取基本 URL。

不过,这看起来像是一个障碍。有没有更干净的方法?

最佳答案

要从相对 URL 构造绝对 URL,请使用 urlparse.urljoin ( docs here )。

但是,如果您使用像 mechanize 这样的浏览系统进行爬行,则可以简单地首先获取绝对网址,然后向浏览器提供相对网址。浏览器将跟踪状态并自动从与先前请求相同的域中获取 URL。

关于python - BeautifulSoup 理解相对 URL 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13077419/

相关文章:

python - 我如何使用 Python 解码这个在随机网站上挑选并由 Django ORM 保存的 utf-8 字符串?

python - 在 Python 中使用 BeautifulSoup 获取具有特定类属性的链接的 href 文本

python - getaddrinfo 无法解析主机

Python pip安装easy_install无法识别

python - Google App Engine 兼容层

python - 没有循环的python中的均值滤波器

Python::请求身份验证

python - 浏览器中可见的项目未被抓取工具收集

Python urllib2 强制 IPv4

python - Beautifulsoup、urllib2 和请求没有找到来自 9gag.com 的所有 HTML 标签