我想获取网址,而不是代码中的True或False

时间:2019-02-01 12:13:59

标签: python

我试图获取URL列表,而不是语句末尾的True中的False响应。

#!/usr/bin/env python

import requests
from BeautifulSoup import BeautifulSoup

url ="https://www.geant.tn/"
response = requests.get(url)
# parse html
page = str(BeautifulSoup(response.content))

def getURL(page):

这部分没问题

    """
    :param page: html of web page (here: Python home page)
    :return: urls in that page
    """
    start_link = page.find("a href")
    if start_link == -1:
        return None, 0
    start_quote = page.find('"', start_link)
    end_quote = page.find('"', start_quote + 1)
    url = page[start_quote + 1: end_quote]
    return url, end_quote

while True:
    url, n = getURL(page)
    page = page[n:]

我在这里遇到问题,因为我显示了TrueFalse

if url.endswith('.html'):
    print url
else:
    break

如果可以帮助我,非常感谢!

1 个答案:

答案 0 :(得分:0)

如果您要获取该页面中所有以.html结尾的URL,那么最简单的方法是使用BeautifulSoup中的find_all()函数返回包含{ {1}}个属性。然后,您可以使用列表推导来构建列表,包括仅以a结尾的列表。例如:

href

这将显示以以下开头的URL

.html