通过生成器不断爬取网页(非闭包)
from urllib.request import urlopen
def get():
print("start crawing...")
while True:
url = yield
temp_content = urlopen(url)
print(temp_content.read())
def main():
g = get()
next(g)
while True:
url = input("url:")
g.send(url)
if __name__ == '__main__':
main()
闭包实现
from urllib.request import urlopen
def get(url):
def index():
temp_url = url
while True:
html_data = urlopen(temp_url).read()
temp_url = yield html_data
return index
def main():
url = input("url:")
g = get(url)
e = g()
print(next(e))
while True:
url = input("url:")
if url != 'q':
print(e.send(url))
else:
break
if __name__ == '__main__':
main()
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步