【发布时间】:2016-01-05 11:04:57
【问题描述】:
在 Udacity 的计算机科学入门课程之后,我正在尝试制作一个 python 脚本来从页面中提取链接,下面是我使用的代码:
我收到以下错误
NameError:名称“页面”未定义
代码如下:
def get_page(page):
try:
import urllib
return urllib.urlopen(url).read()
except:
return ''
start_link = page.find('<a href=')
start_quote = page.find('"', start_link)
end_quote = page.find('"', start_quote + 1)
url = page[start_quote + 1:end_quote]
def get_next_target(page):
start_link = page.find('<a href=')
if start_link == -1:
return (None, 0)
start_quote = page.find('"', start_link)
end_quote = page.find('"', start_quote + 1)
url = page[start_quote + 1:end_quote]
return (url, end_quote)
(url, end_pos) = get_next_target(page)
page = page[end_pos:]
def print_all_links(page):
while True:
(url, end_pos) = get_next_target(page)
if url:
print(url)
page = page[:end_pos]
else:
break
print_all_links(get_page("http://xkcd.com/"))
【问题讨论】:
-
好吧,你在定义
get_page之后使用page。 -
当我定义 page="content" 时,结果为零
-
我会像这样使用
selenium:browser.find_elements_by_tag_name('a') -
您期待
page神奇地来自哪里,究竟是什么?还是url? -
从第 8 行开始使用变量 page,但它在哪里定义?
标签: python