关于python:代码正在永远执行

code is taking forever to execute

这是我的代码,如果URL没有打开,它总是提示"有什么问题",这是我分配的。我怎么能让我的代码在内存使用和时间方面更有效呢,因为我的代码要花很长时间才能执行和打印,只不过是"出了问题"。如果有人感兴趣,我将结束我正在处理的数据

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
    import requests
import re
import urllib2
import time
from bs4 import BeautifulSoup
iteration=0
a=0
b=0
links=list()
links2=list()
emails=dict()
while (iteration<1):
     a=b
     b=a+2
     links2=links[a:b]
     def extract_emails(links2):
         for url in links2:
             try:
                 response=requests.get(url)
                 if response.status_code!=200:
                     print 'connection refused'
                 else:
                     contents=requests.get(url).content.decode('utf-8')
                     emails[url]= re.findall(r'[\w\.-]+@[\w\.-]+',contents)
             except Exception as e:
                 print(e)
         return emails
     def main():
         extract_links(r)
         extract_emails(extract_links(r))
     main()
     iteration=iteration+1


您编写了while (iteration<1):,并且在初始化0之后从不给迭代赋值,也从未中断while循环,显然您的脚本永远不会终止!