如何格式化字符串选择?

How to format the string selection?

我刚开始使用 python 例程从许多基于服务器名称的网页中抓取链接,但即使它有效,但输出的格式也不是预期的:

期望的输出:

https://www.someserver.com/files/1
https://www.someserver.com/files/2
https://www.someserver.com/files/3....  

实际输出:

[None, '//server.org', '//server.org', '//server.org/recent', '//server.org/popular', '//server.org/trolls', 'https://server.org/software/', 'https://www.serverstore.com', '//server.org/submission', '//server.org/my/login', '//server.org/my/newuser', '//devices.server.org', '//build.server.org', '//entertainment.server.org', '//technology.server.org', '//server.org/?fhfilter=somefilter', '//science.server.org', '//yro.server.org', 'http://rss.server.org/server/serverMain', 'http://www.facebook.com/server', 'https://server.org', '#', '//server.org/blog', '#', '#', '#', '//server.org']   

那么如何自定义串联以获得预期的格式而不是 //server.org,或者如何格式化 soup.findAllthe append

非常感谢。

代码

from bs4 import BeautifulSoup
from urllib.request import Request, urlopen
import re

req = Request("https://somepagewithlinks.com")
html_page = urlopen(req)

soup = BeautifulSoup(html_page, "lxml")

links = []
for link in soup.findAll('a'):
    links.append(link.get('href'))

print(links)

file = open("lk", "w")
lista = repr(links)
file.write(str(links))
file.close

更新
感谢 uingtea,但由于更改 link/links 指令失败并显示与

相关的错误,我迷路了
 file.close
<built-in method close of _io.TextIOWrapper object at 0x7ffe8ec74b40>

并且在使用 file.close() 时它会创建一个空文件。我知道必须定义一个列表(链接),然后它应该被引用到 links.instruction()。我缺少什么?

检查字符串开始

for link in soup.findAll('a'):
    link = link.get('href')
    if link.startswith('//'):
        link= 'https:' + link
    elif link.startswith('#'):
        link= 'https/domainname/' + link

    links.append(link)