【问题标题】:Python HTML parsing: getting site top level hostsPython HTML解析:获取站点顶级主机
【发布时间】:2014-10-14 02:26:03
【问题描述】:

我有一个程序,它接收站点的源代码/html 并输出 a href 标记 - 它非常有用,并且使用了 BeautifulSoup4。

我想要此代码的变体,它只查看 标记,但 仅返回来自站点源代码的顶级目录主机名,例如

stackoverflow.com
google.com

等等。但不是像 stackoverflow.com/questions/ 等较低级别的。现在它正在输出所有内容,包括 /、#t8 等,我需要将它们过滤掉。

这是我当前用来提取所有 a href 标记的代码。

url = sys.argv[1] #when program is invoked, takes it in like www.google.com etc.
html = urllib.urlopen(url).read()
soup = BeautifulSoup(html)

# get hosts
for a in soup.find_all('a', href=True):
    print a['href']

谢谢!

【问题讨论】:

    标签: python html-parsing beautifulsoup


    【解决方案1】:

    听起来您正在寻找urlparse.netloc 属性。它是 Python 标准库的一部分:https://docs.python.org/2/library/urlparse.html

    例如:

    >>> from urlparse import urlparse
    >>> url = "http://stackoverflow.com/questions/26351727/python-html-parsing-getting-site-top-level-hosts"
    >>> urlparse(url).netloc
    'stackoverflow.com'
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-01
      • 2012-02-21
      • 2018-01-24
      • 1970-01-01
      • 2014-11-15
      • 1970-01-01
      相关资源
      最近更新 更多