이 스크립트는 가능한 데이터가있는 웹 사이트 중 원하는 웹 사이트를 결정합니다. z
은 data_grabber(item)
을 통해 모든 잠재적 인 웹 사이트를 실행하며 모든 유효한 URL의 색인 목록을 반환합니다. 또한 유효하지 않은 웹 사이트의 값은 None
입니다.긴 목록의 None 값이 반환되지 않게하려면 어떻게해야합니까?
import requests
a = range(0, 10)
b = 'http://www.grandexchangecentral.com/include/gecgraphjson.php?jsid=%r'
websites = []
for i in a:
result = b % a[i]
websites.append(result)
def data_grabber(item):
url = item
r = requests.get(url, headers={'Referer': 'www.grandexchangecentral.com'})
data = r.json
if data != None:
return websites.index(item)
z = [data_grabber(x) for x in websites]
z1 = filter(None, z)
이 z1
이 [2, 6, 8]
로 단축하는 [None, None, 2, None, None, None, 6, None, 8, None]
을 반환합니다. 이 문제는 가능한 웹 사이트 목록이 매우 길어질 수 있으므로 많은 None
자리 표시자를 z
에 생성하는 데 몇 분이 걸릴 수 있습니다. 항목을 생성하지 못하도록 z
을 만들 수 있습니까? 모든 도움을 미리 감사드립니다.
편집 : 이제 실제로는 대부분 data_grabber
입니다. 그래도 이걸 알고 좋은.
Nones의 존재로 인해 실행 시간이 오래 걸린다는 것이 믿기 어려울 것입니다. 병목 현상이 확실한가요? – DSM
현재 병목 현상은 웹 사이트가 상당히 오래 걸리는지 확인하는 방식입니다. 그러나 잠재적 인 웹 사이트 목록은 2 만 개 이상으로 늘어날 수 있으므로 수천 개의 '없음'값을 계산하는 데 몇 분이 걸릴 수 있습니다. –
@ user1709173 네트워크에서 웹 페이지를로드하는 데 비해 상당한 시간이 걸릴 확률은 거의 없습니다. – millimoose