python - 未填充参数
问题描述
我编写了这段代码来格式化 URL 链接列表。
def main():
format_link()
create_html_link()
def format_link(dir_link_dirty):
dir_link = dir_link_dirty.replace('"', "").replace(",", "").replace("\n", "")
dir_link_code = urllib.request.urlopen(dir_link)
bs_dir_link_code = BeautifulSoup(dir_link_code, "html5lib")
h2_a_tag = bs_dir_link_code.h2.a
html_link = str(dir_link) + "/" + str(h2_a_tag["href"])
return html_link
def create_html_link():
dir_lst = load_dir_file()
for dir_link_dirty in dir_lst:
html_link = str(format_link(dir_link_dirty))
return html_link
如果我运行代码,我将收到以下消息:
format_link(str(dir_link_dirty))
NameError: name 'dir_link_dirty' is not defined
进程以退出代码 1 结束
我必须改变什么才能成功运行它?
解决方案
调用format_link
时,main
没有参数dir_link_dirty
.
破碎的:
def main():
format_link()
create_html_link()
固定的:
def main():
format_link("https://example.com")
create_html_link()
完整的例子:
def main():
create_html_link()
def create_html_link():
dir_lst = load_dir_file()
for dir_link_dirty in dir_lst:
html_link = str(format_link(dir_link_dirty))
print(html_link)
return html_link
def format_link(dir_link_dirty):
dir_link = dir_link_dirty.replace('"', "").replace(",", "").replace("\n", "")
dir_link_code = urllib.request.urlopen(dir_link)
bs_dir_link_code = BeautifulSoup(dir_link_code, "html5lib")
h2_a_tag = bs_dir_link_code.h2.a
html_link = str(dir_link) + "/" + str(h2_a_tag["href"])
print(html_link)
return html_link
def load_dir_file():
return ["https://www.gesetze-im-internet.de/ao_1977/BJNR006130976.html",
"https://www.gesetze-im-internet.de/ao_1977/BJNR006130976.html"]
推荐阅读
- php - Laravel elequent 分组通过加入(内部加入)字段与急切加载
- c - 如何让用户以任何顺序输入命令行参数?
- python - Python和Matlab中的Zscore有不同的结果
- git - 如何将本地 svn 存储库克隆到本地 git 存储库?
- ios - 如何将单元格索引路径添加为 Collectionview 单元格旁边的索引?
- haskell - 如何定义作为众多值之一的 Haskell 类型
- kubernetes - 我想修改k8s节点名
- javascript - 将异步函数传递给控制器时出错
- django - PUT request not appearing in allowed requests using ModelViewSet
- python - How to rotate and move a player and how to make a scrolling map?