Python在过程中返回None
我已经编写了一个程序来从字符串中提取链接 请检查下面的代码Python在过程中返回None,python,Python,我已经编写了一个程序来从字符串中提取链接 请检查下面的代码 def next_target(page): if (page.find('<a href') == -1): return 0,0 link = (page.find('<a href=')) first_quote = (page.find('"', link)) second_quote = (page.find('"', first_quote + 1)) ur
def next_target(page):
if (page.find('<a href') == -1):
return 0,0
link = (page.find('<a href='))
first_quote = (page.find('"', link))
second_quote = (page.find('"', first_quote + 1))
url = page[first_quote + 1 : second_quote]
return url, second_quote
def get_all_links(page):
while True:
url, endpos = next_target(page)
if (url):
print (url)
page = page[endpos :]
else:
break
print (get_all_links('<div class="no-padding locale-column col-md-3"><a href="https://ee.000webhost.com/" class=""><span class="flag flag-ee"></span><span class="region">Eesti</span> <span class="language">Eesti</span></a><a href="https://es.000webhost.com/" class=""><span class="flag flag-es"></span><span class="region">España</span> <span class="language">Español</span></a><a href="https://fi.000webhost.com/" class=""><span class="flag flag-fi"></span><span class="region">Suomi</span> <span class="language">Suomi</span></a><a href="https://fr.000webhost.com/" class=""><span class="flag flag-fr"></span><span class="region">France</span> <span class="language">Français</span></a><a href="https://gr.000webhost.com/" class=""><span class="flag flag-gr"></span><span class="region">Ελλάδα</span> <span class="language">Ελληνικά</span></a><a href="https://hr.000webhost.com/" class=""><span class="flag flag-hr"></span><span class="region">Hrvatska</span> <span class="language">Hrvatski</span></a><a href="https://hu.000webhost.com/" class=""><span class="flag flag-hu"></span><span class="region">Magyarország</span> <span class="language">Magyar</span></a><a href="https://in.000webhost.com/" class=""><span class="flag flag-en-in"></span><span class="region">India</span> <span class="language">English</span></a><a href="https://th.000webhost.com/" class=""><span class="flag flag-th"></span><span class="region">ประเทศไทย</span> <span class="language">ไทย</span></a></div>'))
在这里:
或
我不确定这是否是一个赋值或您不能使用它的东西,但除此之外,您可能需要研究Python中解析html的方法。在
page\u pro
函数中,如果不满足第一个条件,则不返回任何内容,然后尝试打印返回值,这将是一个很好的例子,请参阅关于构建一个最简单的代码的文档,这是产生给定问题的最简单的代码。将问题隔离到足以生成这样一个复制器的程度是能够在此处提出高质量问题的先决条件。除了chrisz comment之外,解决方案是不打印返回的None值。只需调用函数page_pro(),所有必要的打印都会在此函数中进行。您显式返回None
,并且只打印URL,您可以尝试将URL附加到列表并返回该URL。感谢您的回答。了解问题背后的逻辑。打印函数将查找返回值。如果在代码的后面部分传递了返回值,则不会打印前面返回的值。@ShreyashKarnik没有直接关系,但请参阅
def page_pro(page):
end_quote = 0
if (page.find('<a href') == -1):
return None
else:
while (page.find('<a href', end_quote) != -1):
start_link = (page.find('<a href=', end_quote))
first_quote = (page.find('"', start_link))
end_quote = (page.find('"', first_quote + 1))
url = page[first_quote + 1 : end_quote]
print (url)
print (page_pro('<div class="no-padding locale-column col-md-3"><a href="https://ee.000webhost.com/" class=""><span class="flag flag-ee"></span><span class="region">Eesti</span> <span class="language">Eesti</span></a><a href="https://es.000webhost.com/" class=""><span class="flag flag-es"></span><span class="region">España</span> <span class="language">Español</span></a><a href="https://fi.000webhost.com/" class=""><span class="flag flag-fi"></span><span class="region">Suomi</span> <span class="language">Suomi</span></a><a href="https://fr.000webhost.com/" class=""><span class="flag flag-fr"></span><span class="region">France</span> <span class="language">Français</span></a><a href="https://gr.000webhost.com/" class=""><span class="flag flag-gr"></span><span class="region">Ελλάδα</span> <span class="language">Ελληνικά</span></a><a href="https://hr.000webhost.com/" class=""><span class="flag flag-hr"></span><span class="region">Hrvatska</span> <span class="language">Hrvatski</span></a><a href="https://hu.000webhost.com/" class=""><span class="flag flag-hu"></span><span class="region">Magyarország</span> <span class="language">Magyar</span></a><a href="https://in.000webhost.com/" class=""><span class="flag flag-en-in"></span><span class="region">India</span> <span class="language">English</span></a><a href="https://th.000webhost.com/" class=""><span class="flag flag-th"></span><span class="region">ประเทศไทย</span> <span class="language">ไทย</span></a></div>'))
print (get_all_links('<div class="no-padding locale-column col-md-3"><a href="https://ee.000webhost.com/" class=""><span class="flag flag-ee"></span><span class="region">Eesti</span> <span class="language">Eesti</span></a><a href="https://es.000webhost.com/" class=""><span class="flag flag-es"></span><span class="region">España</span> <span class="language">Español</span></a><a href="https://fi.000webhost.com/" class=""><span class="flag flag-fi"></span><span class="region">Suomi</span> <span class="language">Suomi</span></a><a href="https://fr.000webhost.com/" class=""><span class="flag flag-fr"></span><span class="region">France</span> <span class="language">Français</span></a><a href="https://gr.000webhost.com/" class=""><span class="flag flag-gr"></span><span class="region">Ελλάδα</span> <span class="language">Ελληνικά</span></a><a href="https://hr.000webhost.com/" class=""><span class="flag flag-hr"></span><span class="region">Hrvatska</span> <span class="language">Hrvatski</span></a><a href="https://hu.000webhost.com/" class=""><span class="flag flag-hu"></span><span class="region">Magyarország</span> <span class="language">Magyar</span></a><a href="https://in.000webhost.com/" class=""><span class="flag flag-en-in"></span><span class="region">India</span> <span class="language">English</span></a><a href="https://th.000webhost.com/" class=""><span class="flag flag-th"></span><span class="region">ประเทศไทย</span> <span class="language">ไทย</span></a></div>'))
print (page_pro('<div class="no-padding locale-column col-md-3"><a href="https://ee.000webhost.com/" class=""><span class="flag flag-ee"></span><span class="region">Eesti</span> <span class="language">Eesti</span></a><a href="https://es.000webhost.com/" class=""><span class="flag flag-es"></span><span class="region">España</span> <span class="language">Español</span></a><a href="https://fi.000webhost.com/" class=""><span class="flag flag-fi"></span><span class="region">Suomi</span> <span class="language">Suomi</span></a><a href="https://fr.000webhost.com/" class=""><span class="flag flag-fr"></span><span class="region">France</span> <span class="language">Français</span></a><a href="https://gr.000webhost.com/" class=""><span class="flag flag-gr"></span><span class="region">Ελλάδα</span> <span class="language">Ελληνικά</span></a><a href="https://hr.000webhost.com/" class=""><span class="flag flag-hr"></span><span class="region">Hrvatska</span> <span class="language">Hrvatski</span></a><a href="https://hu.000webhost.com/" class=""><span class="flag flag-hu"></span><span class="region">Magyarország</span> <span class="language">Magyar</span></a><a href="https://in.000webhost.com/" class=""><span class="flag flag-en-in"></span><span class="region">India</span> <span class="language">English</span></a><a href="https://th.000webhost.com/" class=""><span class="flag flag-th"></span><span class="region">ประเทศไทย</span> <span class="language">ไทย</span></a></div>'))
get_all_links(…)
page_pro(…)