我正在尝试对此代码中的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!!')
答案 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”开头。不会添加到您的列表中。