代码正在永远执行

问题描述 投票:-2回答:1

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

    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
python web-scraping
1个回答
2
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.