代码正在永远执行

时间:2017-12-21 16:37:19

标签: python web-scraping

这是我的代码,它总是引以为傲的'如果网址没有打开我分配的。我怎样才能使我的代码在内存使用和时间方面更有效,因为我的代码将永远执行和打印,而不是“错误的”#。 如果有人有兴趣,我将结束我正在处理的数据

    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

1 个答案:

答案 0 :(得分:2)

您编写了while (iteration<1):并且在初始化为0后从未为迭代分配任何值,并且您从未打破过while循环,显然您的脚本永远不会终止!