我尝试过使用正则表达式但是四处阅读,并被引导到美丽的汤......
我有点想办法如何用汤来获取html标签中的网址,但是如何从html标签(href = *)和网页正文中获取网址?
另外,为了抓住标签中的标签,如何指定我只想要以http://,https:// ...开头的网址?
提前致谢!
答案 0 :(得分:1)
首先看一下parsing-html-in-python-lxml-or-beautifulsoup。我读了它,从来没看过汤。我猜是因为我发现lxml如此简单。我确信有不同的方法可以做你所要求的,也许有更简单的方法。但我会展示我的用途。
在lxml中,您可以使用XPath,就像使用正则表达式来处理XML / HTML一样。下面的代码将找到所有具有“http”属性的“a”标签,并打印以http开头的所有链接。这应该可以帮助您开始解析。
from lxml.html import etree
tree = etree.parse("my.html", etree.HTMLParser())
root = tree.getroot()
links = root.findall('*//a[@href]')
foreach link in links:
if link.get("http").startswith("http"):
print link.get("http")