-3

我想在一个网页中获取所有链接,此功能只有一个链接但需要获取所有链接!当然,我知道需要 The One Ring,但我不知道如何使用

我需要获取所有链接

def get_next_target(page):
start_link = page.find('<a href=')
start_quote = page.find('"', start_link)
end_quote = page.find('"', start_quote + 1)
url = page[start_quote + 1:end_quote]
return url, end_quote
4

3 回答 3

2

这就是 HTML 解析器派上用场的地方。我推荐BeautifulSoup

from bs4 import BeautifulSoup as BS
def get_next_target(page)
    soup = BS(page)
    return soup.find_all('a', href=True)
于 2013-10-16T10:25:43.753 回答
1

您可以为此使用lxml

 import lxml.html

 def get_all_links(page):
     document = lxml.html.parse(page)
     return document.xpath("//a")
于 2013-10-16T10:25:40.533 回答
0
site = urllib.urlopen('http://somehwere/over/the/rainbow.html')
site_data = site.read()
for link in BeautifulSoup(site_data, parseOnlyThese=SoupStrainer('a')):
    if link.has_attr('href'):
        print(link['href'])
于 2013-10-16T10:27:57.480 回答