按主机名称切片准备获取IP的URL

时间:2018-08-24 12:06:21

标签: python python-3.x web-scraping

我正在尝试对此代码中的URL进行切片,如果URL [2]的前4个字符为www。只需将其添加到新列表中即可,但如果它们不是www。然后网址= www。 +网址。我遇到的问题是我一直在获得类似www.www.google.com的结果。我尝试了各种表达式的加载,但无法正确执行此操作>请帮助:)

 for i in raw_links:
        raw_links += (scrape_links(i))
        checked += 1
        string = str(checked) + ' links checked'
        print(string)

        for i in raw_links:
            i = i.split('//') and i.split('/')
            url = i[2]
            del i

            if url[0:3] != 'www.':
                top_domain = 'www.' + url
                if not top_domain in checked_links:
                    checked_links += top_domain
                    print(top_domain)
            elif url[0:3] == 'www.':
                checked_links += url
                print(url)
            else:
                del i
                print(raw_links[i],'deleted!!')

2 个答案:

答案 0 :(得分:1)

很抱歉在评论中产生误导。您所需要做的就是更改if条件,如下所示。

if not url.startswith('www.'):
    url = 'www.'+url

这将肯定起作用。干杯!

答案 1 :(得分:0)

if url[0:3] != 'www.':

将始终触发,因为url [0:3]将仅返回前三个字符,这些字符永远不会等于“ www”。因此,您的网址已经以www开头。仍然会有www。添加到了他们。

if url[0:3] == 'www.':

永远不会触发(因为它仅返回3个字符“ www”),因此,良好的url以“ www”开头。不会添加到您的列表中。