630,220 개의 URL을 열어서 긁어 내야합니다. 이 URL 자체는 긁어 모아져서 각 긁힌 페이지가 약 3,500 개의 URL을 반환하기 때문에 훨씬 쉽게 긁어 모았습니다.Python에서 많은 수의 URL을 긁음
이 630,220 개의 URL을 다듬기 위해 현재 스레드를 사용하여 파이썬에서 병렬 스크래핑을하고 있습니다. 16 개의 스레드를 사용하면 200 개의 URL을 다듬는 데 51 초가 걸립니다. 따라서,이 문제를 처리하는 데 불필요하게 시간이 많이 걸리고 비효율적 인 것으로 보이는 630,220 개의 URL을 모두 다 고치는 데 44 시간이 걸릴 것입니다.
서버에 과부하가 발생하지 않는다고 가정 할 때 초당 1000 건의 요청을 비동기식으로 보낼 수있는 방법이 있습니까? 그러면 약 10 분 정도가 소요될 수 있습니다. 이는 상당히 합리적입니다.
[asyncio] (https://docs.python.org/3/library/asyncio.html)에 관심이있을 수 있습니다. –
[Scrapy] (https://scrapy.org/)는 이미 비동기식이며, 가까운 장래에 핸드 롤 할 수있는 것보다 훨씬 강력하고 제작 준비가 완료되었습니다. 단일 [벤치 마크] (https://doc.scrapy.org/en/latest/topics/benchmarking.html)에서 통찰력을 얻을 수 있습니다. –